Zahlen in Umgebungen mit Fixed-Width/Monospace-Fonts untereinander anzuordnen ist mit Formatbezeichnern recht einfach, aber bei Proportionalschriftarten, wie System.Drawing.SystemFonts.DefaultFont ist das etwas schwieriger. Abhilfe schaffen hier sogenannte figure spaces (http://wikipedia.org/wiki/Figure_space), Leerzeichen, die so breit wie eine Ziffer sind.
int bigNumber = 1234;
int smallNumber = 5;
string bigNumberString = bigNumber.ToString();
string smallNumberString = smallNumber.ToString();
// Bei Monospace-Fonts
textBox1.Text = string.Format("{0,4}\n{1,4}",
bigNumberString,
smallNumberString);
// Bei beliebigen Schriftarten
textBox1.Text = string.Format("{0}\n{1}",
bigNumberString,
smallNumberString.PadLeft(bigNumberString.Length, '\u2007'));
Kommentare zum Snippet