TableLayoutPanel Размер Последней Строки Слишком Большой

мое приложение использует TableLayoutPanel, который находится в странице табуляции.

Если количество элементов, которые я добавляю, относительно мало (т. е. оно не "заполняет" всю страницу вкладки), то высота последней строки растягивается. Вот скриншот того, что происходит:

Table Layout Panel Last Row

Я попытался изменить свойства таблицы на Autosize, GrowAndShrink и т. д. но, кажется, ничто не мешает этому случиться.

вот мои текущие настройки для свойств макета таблицы:

Table Layout Panel Layout Properties

Как я могу получить последнюю строку того же размера, что и другие строки?

спасибо

4 ответов


на основе вашего дизайна и ваших требований я предлагаю вам сделать Dock собственность TableLayoutPanel вверх.


у меня просто была очень похожая проблема. Наполнение TableLayoutPanel программно (с автопрокруткой) и последняя строка оказалась слишком высокой. Работа в доке мне не подходила.

исправлено путем добавления пустого Label в последнем ряду. Он "занимает" последнюю строку, но не виден. Для меня достаточно.


использование свойства dock решает проблему высоты последней строки, но создает другую, изменяя ширину таблицы в соответствии с шириной контейнера (100%). Я хотел, чтобы высота в последней строке была правильной, но я не хочу, чтобы принудительная ширина 100%.

вместо использования свойства Dock я использовал:

AutoSizeMode = AutoSizeMode.GrowAndShrink

это сделало autosize работать правильно на последней строке и столбце.


У меня была аналогичная проблема, когда последняя строка всегда была слишком высокой в TLP с большим количеством строк, чем могло поместиться, используя AutoScroll.

решение состояло в том, чтобы отключить Автопрокрутку, установить размеры строк из коллекции строк TLP, а затем снова включить Автопрокрутку.