想要在form上放置panel1,panel2,panel3三个控件。其中,panel1的dock设为top,panel2的dock设为left,panel3的dock设为fill。那么,这里要注意顺序问题。
第一种:
首先,放panel1,那么,panel1将放置在form的最上端,宽度为form的宽度。
其次,放panel2,那么,panel2将放在在form的左边,高度为form底部到panel1底部。
最后,放panel3,那么,panel3将填充form其余的部分,即panel1和panel2剩余的部分。
在form.Designer.cs文件中,add顺序为:
this.Controls.Add(this.panel3);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
第二种:
首先,放panel2,那么,panel2将放在在form的最左边,高度为form的高度
其次,放panel1,那么,panel1将放置在form的上端,宽度为panel2的最右端到form的最右端。
最后,放panel3,那么,panel3将填充form其余的部分,即panel1和panel2剩余的部分。
在form.Designer.cs文件中,add顺序为:
this.Controls.Add(this.panel3);
this.Controls.Add(this.panel1);
this.Controls.Add(this.panel2);
第三种:
首先,放panel3,那么,panel3将填充整个form。
其次,放panel1,那么,panel1将放置在panel3的最上端,宽度为form的宽度。
最后,放panel2,那么,panel2将放在在panel3的左边,高度为form底部到panel1底部。
在form.Designer.cs文件中,add顺序为:
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Controls.Add(this.panel3);
这种情况,当3个panel同时显示的话,panel3的最上边和左边的内容会被panel1和panel2遮盖住。
其实,修改容器布局只需修改form.Designer.cs的add顺序。