Я использовал моноширинный шрифт для отображения таблицы на графическом объекте, а для выравнивания столбцов текста я дополнял текст пробелами.
Меня попросили изменить шрифт на пропорциональный шрифт, и неудивительно, но столбцы больше не выстраиваются в линию.
Если задана строка, например
"Bill-of-Material Edits\r\n------------------------------\r\n200 510024 Door 24\" x 58\"\r\n 3 530058 Panel 58\" x 58\"\r\n";
как мне убедиться, что 3 строки правильно располагаются под первым местом на значении 200 из строки выше, а затем чтобы 510024 располагался прямо над 530058?
Вот код, который я использую для рисования строки:
var fnt = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Regular, GraphicsUnit.Point);
StringFormat strFormat = new StringFormat(StringFormat.GenericTypographic);
strFormat.Alignment = StringAlignment.Near;
string text = "Bill-of-Material Edits\r\n------------------------------\r\n200 510024 Door 24\" x 58\"\r\n 3 530058 Panel 58\" x 58\"\r\n";
g.DrawString(text, fnt, Brushes.Black, new RectangleF(10f, 10f, 38.1062851f, 12.9231777f), strFormat);
Я пытался заменить пробелы другими символами, такими как управляющие символы Юникода (0x0080), но безрезультатно. Я также пытался использовать string.Format() с форматировщиками, такими как {0,10}, что тоже не помогло.
Что мне сделать, чтобы мои столбцы выровнялись?