MDI父窗体中的子窗体最大化后消除子窗体在父窗体菜单栏中的图标


 

摘自:http://wenku.baidu.com/view/8202c4f2770bf78a6529542a.html

1.建立MainForm(设置属性IsMdiContainer=true)父窗体如下所示。

 

2.双击工具栏上的Form1 图标。设置Form1子窗体的显示。

Form1子窗体显示代码如下:

private void toolStripButton1_Click(objectsender, EventArgs e)

{

    Form1 f1= new Form1();

    f1.WindowState = FormWindowState.Normal;

    f1.MdiParent = this;

    f1.Show();

}

 

3.选中菜单栏menuStrip1,设置其 ItemAdded 事件。

menuStrip1的ItemAdded事件代码如下:

private void menuStrip1_ItemAdded(objectsender, ToolStripItemEventArgs e)

{

    if(e.Item.Text.Length == 0         //隐藏子窗体图标

        || e.Item.Text == "最小化(&N)"  //隐藏最小化按钮

        || e.Item.Text == "还原(&R)"  //隐藏还原按钮

        || e.Item.Text == "关闭(&C)")//隐藏最关闭按钮

    {

        e.Item.Visible = false;

    }

}

 

 

4.编译运行该该项目,点击工具栏上的Form1按钮,普通、最大化和最小化显示情况如下图所示,可见此时子窗体的图标在父窗体的菜单栏中已经消失,至此,任务完成,搞定。

<Normal>

 

<Maximize>

 

<Minimize>

 

[注意]:如果子窗体含有菜单的话,默认情况是子窗体的菜单会合并显示在父窗体的菜单上;如果不需要在父窗体菜单中显示,只需把父窗体菜单的AllowMerge属性设置为false即可。

 

 

子窗体From3

 

 

 

 

 

 

 

 

 

 

如果父窗体和子窗体菜单的属性AllowMerge=true时,显示情况如下所示:

 

当父窗体菜单的属性AllowMerge=false时,显示情况如下所示:

 

总结:父、子窗体的菜单是否合并显示在父窗体的菜单中根据具体需要来决定。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值