今天在系统界面添加了一个状态栏statusStrip,Dock设置为Bottom,固定在界面底部。但是我发现状态栏上面的splitContainer被statusStrip给覆盖了一部分,而splitContainer的Dock属性明明是Fill。这是splitContainer的Dock属性失效了吗?
解决方案查了一下,发现在一个容器里的控件,如果dock 为fill时,只有它是最后一个添加的控件时才不会遮盖其它的控件。
方法一:
好了,现在的一个笨方法就是先删除splitContainer,再重新添加splitContainer。但是splitContainer还有一些其他控件,此方法显然不可取(虽然有效)。
方法二:
有一个比较好的方法是改窗体的Designer文件,Ctrl+F打开查找对话框,输入this.Controls.Add,然后调整两个控件在窗体中的Controls.Add()的顺序:
方法三:
方法二的界面版:选中相应控件,然后在控件上右键,点击“置于顶层”、“置于底层”来调节Add的顺序。
参考 C#控件的dock属性为fill时覆盖了其它控件(或者有一部分在其它控件下面)的解决方法_C#_C#-CSDN博客blog.csdn.net C#, VS2010, Tablelayout的Dock = Fill属性无效,被statusStrip或toolStrip遮住blog.csdn.net


