Я думаю, что у меня есть рабочий пример.
Поместите панель на форму и закрепите ее во всех направлениях.
Поместите табличную панель в панель, установите любой размер и закрепите все направления .
Поместить метки в строки 0, 2, 4. Установить метку autosize = true.
Поместить панели в строки 1, 3, 5. Закрепить панели во всех направлениях. Нет стыковки или автоматического изменения размера.
Установите строки таблицы табличного изображения с метками на абсолютную и любую высоту. Я использовал 20 пикселей.
Установите для строк панели значение «Процент 33,33». Таблица автоматически масштабируется до 100%, если вам меньше или больше.
Отметить события щелчка:
Public Class Form1
Private Sub Label1_Click(sender As System.Object, e As System.EventArgs) Handles Label1.Click
If TableLayoutPanel1.RowStyles(1).Height > 10 Then
TableLayoutPanel1.RowStyles(1).SizeType = SizeType.Absolute
TableLayoutPanel1.RowStyles(1).Height = 2
Else
TableLayoutPanel1.RowStyles(1).SizeType = SizeType.Percent
TableLayoutPanel1.RowStyles(1).Height = 33.33
End If
End Sub
Private Sub Label2_Click(sender As System.Object, e As System.EventArgs) Handles Label2.Click
If TableLayoutPanel1.RowStyles(3).Height > 10 Then
TableLayoutPanel1.RowStyles(3).SizeType = SizeType.Absolute
TableLayoutPanel1.RowStyles(3).Height = 2
Else
TableLayoutPanel1.RowStyles(3).SizeType = SizeType.Percent
TableLayoutPanel1.RowStyles(3).Height = 33.33
End If
End Sub
Private Sub Label3_Click(sender As System.Object, e As System.EventArgs) Handles Label3.Click
If TableLayoutPanel1.RowStyles(5).Height > 10 Then
TableLayoutPanel1.RowStyles(5).SizeType = SizeType.Absolute
TableLayoutPanel1.RowStyles(5).Height = 2
Else
TableLayoutPanel1.RowStyles(5).SizeType = SizeType.Percent
TableLayoutPanel1.RowStyles(5).Height = 33.33
End If
End Sub
End Class
Я не знаю, нужно ли поместить его на панель заставить это работать. Возможно, вы могли бы привязать его к форме и все будет в порядке.
Вы также можете сделать это в одном обработчике событий, щелкнув строку метки и добавив 1.