摘自: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時,顯示情況如下所示:
總結:父、子窗體的菜單是否合併顯示在父窗體的菜單中根據具體需要來決定。