如何:將 MenuStrip 插入至 MDI 下拉式功能表 (Windows Form)
在某些應用程式中,多重文件介面 (MDI) 子視窗的類型可能與 MDI 父視窗不同。 例如,MDI 父視窗可能是試算表,而 MDI 子視窗可能是圖表。 在這種情況下,由於已啟動各種不同類型的 MDI 子視窗,因此您需要以 MDI 子視窗功能表的內容更新 MDI 父視窗功能表的內容。
下列程式會 IsMdiContainer 使用 、 AllowMergeMergeAction 和 MergeIndex 屬性,將 MDI 子功能表的功能表項目群組插入 MDI 父功能表的下拉式部分。 關閉 MDI 子視窗會從 MDI 父代移除插入的功能表項目。
若要將 MenuStrip 插入 MDI 下拉式功能表
建立表單,並將其 IsMdiContainer 屬性設定為
true
。將 MenuStrip 加入
Form1
,並將 MenuStrip 的 AllowMerge 屬性設定為true
。將三個子功能表項目目新增至
&File
功能表項目,並將其屬性設定 Text 為&Open
、&Import from
和E&xit
。將兩個子功能表項目目新增至
&Import from
子功能表專案,並將其屬性設定 Text 為&Word
和&Excel
。將表單加入專案,將 MenuStrip 加入表單,並將
Form2
MenuStrip 的 AllowMerge 屬性設定為true
。依下列順序將子功能表專案新增至
&File
的功能表Form2
: ToolStripSeparator 、&Save
、Save and &Close
和另一個 ToolStripSeparator 。MergeAction設定功能表項目的
Form2
和 MergeIndex 屬性,如下表所示。Form2 功能表項目 MergeAction 值 MergeIndex 值 檔案 MatchOnly -1 分隔符號 插入 2 儲存 插入 3 儲存後關閉 插入 4 分隔符號 插入 5 為
&Open
ToolStripMenuItem 的 Click 事件建立事件處理常式。在事件處理常式中,插入類似下列程式碼範例的程式碼,以建立和顯示
Form2
的新執行個體,做為Form1
的 MDI 子視窗。Private Sub openToolStripMenuItem_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles openToolStripMenuItem.Click Dim NewMDIChild As New Form2() 'Set the parent form of the child window. NewMDIChild.MdiParent = Me 'Display the new form. NewMDIChild.Show() End Sub
private void openToolStripMenuItem_Click(object sender, EventArgs e) { Form2 newMDIChild = new Form2(); // Set the parent form of the child window. newMDIChild.MdiParent = this; // Display the new form. newMDIChild.Show(); }
將類似下列程式碼範例的程式碼放入
&Open
ToolStripMenuItem 之中,以註冊事件處理常式。Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
編譯程式碼
這個範例需要:
名為
Form1
和Form2
的兩個 Form 控制項。Form1
上名為menuStrip1
的 MenuStrip 控制項,以及Form2
上名為menuStrip2
的 MenuStrip 控制項。System 和 System.Windows.Forms 組件的參考。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應