Выравнивание по вертикали элементов управления в TableLayoutPanel - PullRequest
12 голосов
/ 09 сентября 2010

Можно ли как-нибудь выровнять текстовое содержимое элементов управления в TableLayoutPanel? У меня есть метки в столбце 0 и текстовые поля (или, иногда, элементы управления ComboBox или NumericUpDown) в колонке 1, но текст в метке обычно состоит из двух или двух пикселов (по вертикали) в большинстве строк.

Ответы [ 6 ]

12 голосов
/ 19 сентября 2011

Я работал над этим несколько дней назад.Я получил все, как требуется.Попробуйте это:

Для меток

  • Отсоединить метку от Tablelayoutpanel
  • Установить верхний стиль закрепления
  • Установить точки привязки нет
  • TextAlign = MiddleLeft
  • Затем просто поместите его в столбец макета таблицы
  • Убедитесь, что высота стиля строки соответствует высоте метки, если у вас есть цвет метки.

Для текстовых полей

  • Отключение текстовых полей от Tablelayoutpanel
  • Установить стиль закрепления равным none
  • Установить точки привязки none
  • TextAlign = MiddleLeft (или по мере необходимости)
  • Затем просто поместите его в столбец макета таблицы
8 голосов
/ 24 мая 2012

Выберите все элементы управления на панели макета таблицы. На вкладке свойств убедитесь, что якорь установлен влево. Я думаю, что по умолчанию это «вверху слева».
Надеюсь, это все уладит.

7 голосов
/ 22 октября 2010

Вы можете установить следующие свойства:

для этикетки
1. Autosize= false;
2. TextAlign= MiddleLeft;

для элементов управления, таких как Combobox, Textbox

Перейти к Вид -> Панели инструментов -> Макет

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

1 голос
/ 06 сентября 2011

Я бы рекомендовал оставить якоря такими, какие они есть, и просто добавить верхнее поле для элементов управления, которые слишком высоки.Когда я добавляю ярлыки, для меня нормально 3,3,3,0.Как сказал Джавед, вы можете выбрать несколько элементов управления, нажав элемент управления.Меня раздражает, что ComboBox на один пиксель больше, чем Texboxes.Хотя с этим ничего не поделаешь.

0 голосов
/ 06 октября 2010

Что я обычно делаю, это помещаю их в контейнер, например, в панель, и привязываю их относительно этого.Преимущества добавления контейнера в том, что вы также можете уменьшить количество обработчиков Win.В этом случае это не имеет значения, потому что у вас уже есть TablelayoutPanel, поэтому в основном для всех элементов управления у вас есть только один обработчик.

0 голосов
/ 09 сентября 2010

О, вы имеете в виду, что базовый текст для метки отличается от других элементов управления? Если это так, попробуйте удалить вертикальные анкеры. Вы также можете играть с полями.

...