您的位置:首页 > 编程语言 > C#

C#, VS2010, Tablelayout的Dock = Fill属性无效,被statusStrip或toolStrip遮住

2016-11-21 10:59 731 查看
今天画几个控件,在窗体上放了个TableLayout,然后设置dock属性为Fill,铺满窗口,效果正常。

然后想到要在窗口底部加一个状态栏statusStrip,进行拖放之后发现状态栏把TableLayout遮住了,好像TableLayout的Dock属性失效了,如下图:



怎么办呢?网上搜了一下,也有人碰到这个问题,原因是TableLayout和statusStrip的加载顺序问题,控件直接会有遮挡关系。

解决的办法就是调整两者的加载顺序,比较笨的办法是把TableLayout删掉,重新画,但是如果TableLayout里面已经有很多控件的话有点费事。

比较快的方法是改窗体的Designer文件,调整两个控件在窗体中的Controls.Add()的顺序:



//
// FormQueryBs
//
...
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.tableLayoutPanel1);
...改为:
//
// FormQueryBs
//
...
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.statusStrip1);
...

效果:



问题解决。

这应该算VS2010这个IDE的一点不够完美的小问题吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐