У меня есть форма, содержащая TableLayout с 1 столбцом и 3 строками, которая содержит 2 FlowLayoutPanels и текстовое поле. Для всех строк задан автоматический размер, а для столбца установлено значение «Процент = 100%».
Каждый FlowLayoutPanel содержит несколько текстовых полей. FlowLayoutPanels установлены: LeftToRight, AutoSize = true, GrowAndShrink, Docking = Fill.
Схема такова:
Form
TableLayout (Dock=Fill)
FlowLayoutPanel(Dock=Fill, AutoSize=True, GrowShrink)
More controls
FlowLayoutPanel(Dock=Fill, AutoSize=True, GrowShrink)
More controls
TextBox(Dock=Fill, MultiLine=true)
Проблема в том, что если я помещаю FlowLayoutPanel внутри GroupBox, для которого также установлено значение AutoSize = true, высота FlowLayoutPanel установлена неправильно, и он показывает текстовые поля в одной строке, вырезая некоторые текстовые поля из формы.
Схема такова:
Form
TableLayout (Dock=Fill)
GroupBox (Dock=Fill, AutoSize=True, GrowShrink)
FlowLayoutPanel(Dock=Fill, AutoSize=True, GrowShrink)
More controls
GroupBox (Dock=Fill, AutoSize=True, GrowShrink)
FlowLayoutPanel(Dock=Fill, AutoSize=True, GrowShrink)
More controls
TextBox(Dock=Fill, MultiLine=true)
Кстати, то же самое происходит, если я использую вместо GroupBox, Panel или даже UserControl для хранения FlowLayoutPanel.
Кстати 2, это происходит даже без TableLayout. Я попытался разместить GroupBox (с FlowLayoutPanel) в форме AutoSized, и у меня такое же поведение.
Я думаю, что проблема в том, что когда FlowLayoutPanel находится в другом контейнере, который также является AutoSized, он не может перейти к этому контейнеру, это предпочтительный размер.
Что можно сделать, чтобы исправить эту ошибку?
Пожалуйста, помогите Спасибо, Йорам
p.s: я должен использовать GroupBox, чтобы вокруг текстовых полей был красивый фрейм.