C# winform中使用Panel调节窗口变化是各控件的位置,转

我的目的是在窗口上有些控件,在窗口大小变化时,上面的控件位置不动,大小也不动。下面的控件随着窗口的大小变化而变大。

做法是用两个panel,panelTop和panelFill。上面的控件都放到panelTop里面。下面的控件都放到panelFill中。

然后设置PanelTop的Dock属性是Top;

设置panelFill的Dock属性是Fill。

但是总是出现下面的PanelFill把上面的PanelTop覆盖的问题。可以看见实际上下面的控件顶端已经跑到上面的PanelTop那儿去了。

解决办法是:

找到窗口的MainForm.Designer.cs中,找到下面的代码:

this.Controls.Add(this.panelFill); this.Controls.Add(this.panelTop);

如果这段代码,是panelTop在第一行,则需要把它挪到第二行,让panelTop放在最后。就会解决上面的问题。