Как выровнять часть метки справа от группового поля?WinForm C # - PullRequest
0 голосов
/ 10 февраля 2019

Я занимаюсь разработкой приложения, которое отображает строки данных, извлеченных с сервера SQL.При попытке отобразить информацию, я хочу поместить описание данных и сами данные в одну и ту же метку, но выровнять часть данных по правому краю с групповым блоком, в котором находится метка. Таким образом, данные легко читаются навзгляд.

Пример того, как это будет выглядеть, выглядит следующим образом:

Fav Food:       Pizza
Fav Color:      Blue
Fav Program:    Visual Studio

Это то, что я хочу, чтобы метки выглядели внутри группового блока, с самыми длинными данными в нескольких пикселях справа отgroupbox.

xFavFoodLabel.Text = "Fav Food: ".PadRight(50 - "Fav Food: ".Length) + favfood;
xFavColorLabel.Text = "Fav Color: ".PadRight(50 - "Fav Color: ".Length) + favcolor;
xFavProgramLabel.Text = "Fav Program: ".PadRight(50 - "Fav Program: ".Length) + favprogram;

Я хотел, чтобы это отображало текст, как в примере выше, но вместо этого текст был в шахматном порядке и не выглядел правильно.Есть идеи?

1 Ответ

0 голосов
/ 10 февраля 2019

Шрифт, который вы выбираете, имеет значение.

Вы предполагаете, что каждый символ занимает одинаковое количество горизонтального пространства.Хотя это верно для моноширинного шрифта , например Courier, это не для пропорционального шрифта.Вы можете установить шрифт как Courier, чтобы увидеть, имеет ли он какое-либо значение.

Для табличного макета проще использовать TableLayoutPanel для размещения меток.

Определите 2 столбца и поместите метку описания и метку значения в отдельный столбец.Тогда вы даже можете иметь различное выравнивание для каждой метки, например, выравнивание по правому краю меток описания и выравнивание по левому краю меток значений.

...