C#:MDI子窗体最大化导致父窗体工具栏移动的问题解决

一个常见的MDI布局如上图所示。父窗体拥有自己的工具栏。

当子窗体最大化的时候,会变成下面这个样子。


子窗体的标题栏会并到父窗体上去。使得父窗体的工具栏往下移动了。看起来就好象工具栏突然变成子窗体的。

有时候我们可能不需要这样的效果。而希望他能表现的稍微“正常”一些。例如:



怎么做到呢?


先给窗体上拖一个MenuStrip控件,然后右键该控件,选择移动到最前。

这样MenuStrip会跑到所有Dock为Top的最下面去。然后为该控件注册两个事件,如下:


         private void menuStrip1_ItemAdded(object sender, ToolStripItemEventArgs e)
         {
             this.menuStrip1.Visible = true;
         }
 
         private void menuStrip1_ItemRemoved(object sender, ToolStripItemEventArgs e)
         {
             this.menuStrip1.Visible = false;
         }


最后再把MenuStrip的Visible设置为false。就大功告成了。


转载请注明出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值