Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取面板';s子对象动态重置其位置。Y属性?_C#_Winforms_Resize_Panel_Groupbox - Fatal编程技术网

C# 如何获取面板';s子对象动态重置其位置。Y属性?

C# 如何获取面板';s子对象动态重置其位置。Y属性?,c#,winforms,resize,panel,groupbox,C#,Winforms,Resize,Panel,Groupbox,我在窗体上有一个面板,面板的AutoScroll属性设置为True 在该面板上,我放置了几个GroupBox控件,它们比面板占用更多的空间-因此,面板会产生一个垂直滚动条 如果需要,其中一个面板可以在运行时更改高度(我根据其包含的文本量以编程方式设置其高度): 如果面板高度增加,则此操作正常-面板下方的组框“向下移动”。但是,如果面板高度降低,则面板下方的组框不会“向上移动” 我知道我可以通过编程方式将下面的groupbox控件向上移动,但我认为一定有一种更好/更省事的方法来实现这一点…用Flo

我在窗体上有一个面板,面板的AutoScroll属性设置为True

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

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

如果面板高度增加,则此操作正常-面板下方的组框“向下移动”。但是,如果面板高度降低,则面板下方的组框不会“向上移动”


我知道我可以通过编程方式将下面的groupbox控件向上移动,但我认为一定有一种更好/更省事的方法来实现这一点…

FlowLayoutPanel
替换
面板
,这将自动实现


(您可能需要关闭FL面板的环绕)

将其停靠属性设置为顶部。然后更改子对象的Z顺序以指定其显示顺序

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

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

右键单击控件并执行“向前移动”、“向后发送”等操作,或者您可以进入designer.cs文件,只安排将它们添加到其父级的顺序。
GroupBox1.Dock = DockStyle.Top;
GroupBox2.Dock = DockStyle.Top;
GroupBox3.Dock = DockStyle.Top;