1

我在表单上有一个面板,面板的 AutoScroll 属性设置为 True。

在那个面板上,我放置了几个 GroupBox 控件,它们比面板占用更多的空间 - 因此,面板会出现一个垂直滚动条。

如果需要,其中一个面板可以在运行时更改高度(我根据它包含的文本量以编程方式设置它的高度):

groupBox1.Height = label1.Height + label1.Top + 10;

如果面板高度增加,这可以正常工作 - 它下方的 GroupBoxes“向下移动”。但是,如果面板的高度降低,下面的 GroupBox 不会“向上移动”。

我知道我可以以编程方式向上移动下面的组框控件,但我认为必须有比这更好/不那么挑剔的方法......

4

2 回答 2

1

Panel用 a代替FlowLayoutPanel,这将成为自动的。

(您可能想要关闭 FL-Panel 的包装)

于 2012-10-04T20:57:14.407 回答
1

将它们的停靠属性设置为 Top。然后更改子项的 Z 顺序以指定其显示顺序。

GroupBox1.Dock = DockStyle.Top;
GroupBox2.Dock = DockStyle.Top;
GroupBox3.Dock = DockStyle.Top;

如果 groupbox1 增长或缩小,其他 2 个面板将移动以适应。

于 2012-10-04T21:09:07.140 回答