我有一个包含 1 列和 3 行的 TableLayout 的表单,其中包含 2 个 FlowLayoutPanel 和一个文本框。
所有行均为 AutoSize,列设置为 Percentage=100%。
每个 FlowLayoutPanel 都包含多个 TextBox。
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 放置在也设置为 AutoSize=true 的 GroupBox 内,则 FlowLayoutPanel 高度设置不正确,并且它显示 1 行中的 TextBox,将一些 TextBox 从表单中删除。
概要是:
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 在 TextBox 周围有一个漂亮的框架。