Скрыть и показать строки в TableLayoutPanel
не совсем просто.
Исходя из вашего макета пользовательского интерфейса, я предполагаю, что первая и третья строки установлены на Absolute
, а вторая - AutoSize
или Percent
. Я также предполагаю, что Dock
для панели установлено на Fill
. Вот что я хотел бы сделать в этом сценарии.
Добавить пустую строку в конце с SizeType
, установленным в AutoSize
. Когда действие пользователя начинается (скажем нажатием кнопки), сделайте следующее:
// RowStyles index is index of the row you are dealing with
tableLayoutPanel1.RowStyles[1].SizeType = SizeType.Absolute;
tableLayoutPanel1.RowStyles[1].Height = 0;
Поскольку в конце есть строка автоматического размера, все остальные строки будут перемещаться вверх, а в нижней части вашей формы будет пустое пространство. Это сохранит желаемый макет. Когда действие завершено, вы можете установить соответствующую строку обратно на Percent
или AutoSize
.