合并菜单栏,工具栏,状态栏

   protected override void OnMdiChildActivate(EventArgs e)
        {
            base.OnMdiChildActivate(e);

            #region 先撤消所有的合并项

            menuStrip.SuspendLayout();
            ToolStripManager.RevertMerge(menuStrip);
            menuStrip.ResumeLayout(false);
            menuStrip.PerformLayout();

            toolStrip.SuspendLayout();
            ToolStripManager.RevertMerge(toolStrip);
            toolStrip.ResumeLayout(false);
            toolStrip.PerformLayout();

            statusStrip.SuspendLayout();
            ToolStripManager.RevertMerge(statusStrip);
            statusStrip.ResumeLayout(false);
            statusStrip.PerformLayout();

            #endregion

            #region 合并菜单栏,工具栏,状态栏

            Form form = this.ActiveMdiChild;
            if (form != null)
            {
                foreach (Control control in form.Controls)
                {
                    //以下两种情况不可以互换位置,因为StatusStrip继承于ToolStrip
                    if (control is MenuStrip)
                    {
                        menuStrip.SuspendLayout();
                        ToolStripManager.Merge((MenuStrip)control, menuStrip);
                        menuStrip.ResumeLayout(false);
                        menuStrip.PerformLayout();
                    }

                    else if (control is StatusStrip)
                    {
                        statusStrip.SuspendLayout();
                        ToolStripManager.Merge(((StatusStrip)control), statusStrip);
                        statusStrip.ResumeLayout(false);
                        statusStrip.PerformLayout();
                        control.Visible = false;
                    }
                    else if (control is ToolStrip)
                    {
                        ((ToolStrip)control).SuspendLayout();
                        ToolStripManager.Merge(((ToolStrip)control), this.toolStrip);
                        ((ToolStrip)control).ResumeLayout(false);
                        ((ToolStrip)control).PerformLayout();
                        control.Visible = false;
                    }
                }
            }

            #endregion

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值