2010-08-18 125 views

回答

12

將菜單項的合併操作設置爲「MatchOnly」。

新增

因爲這可以得到一個有點棘手,我將添加列出的步驟,使一個簡單的例子。

  • 創建一個新的Windows窗體應用程序。
  • 添加一個新的Windows窗體並保留其名稱Form2。
  • 打開Form1設計器(如果尚未打開)。
  • 單擊窗體並將Form1的IsMdiContainer設置爲True。
  • 打開工具箱並向Form1添加一個MenuStrip。
  • 在「鍵入這裏」框中鍵入&文件
  • 在子項「在此處輸入」框中鍵入一個
  • 在子項「在此處輸入」框的B型
  • 你MDI容器( Form1)應 有一個帶有項目A和B的文件菜單。
  • 雙擊A項目以添加 點擊處理程序。
  • new Form2 { MdiParent = this }.Show();添加到處理程序方法。
  • 打開Form2設計器。
  • 打開工具箱並向Form2添加MenuStrip 。
  • 注意:有關Form2 MenuStrip上Visible屬性的信息,請參閱下面的內容,此時可將其設置爲False。
  • 在「鍵入這裏」框中鍵入&文件
  • 在子項「在此處輸入」框中鍵入 Ç
  • 你的MDI子(窗體2)應與項目C.
  • 一個 文件菜單
  • 單擊File菜單項並在 Properties窗口中將MergeAction 設置爲MatchOnly。
  • 運行該程序。

注意,文件菜單項是A和B.

點擊File - >一個創建一個子窗口。

注意,在容器上的文件菜單現在包含A,B和C

還要注意對孩子的文件菜單中是存在的,但沒有項目。這是因爲C被合併了。

您現在可以將孩子的MenuStrip.Visible屬性設置爲False,以便孩子不顯示菜單。在設計菜單時,將其設置爲True是很方便的,因此您可以驗證所有子菜單項目是否已正確合併(它們將從子菜單中消失)。

您可以使用MergeIndex屬性來控制子項如何合併到容器中。

+0

謝謝Tergiver – fariba 2010-08-18 15:05:17

+1

我在Visual Studio 2013上嘗試了這些確切的步驟(遵循這封信),並且他們沒有工作。我看到兩個文件菜單,一個在MDI容器上,另一個在MDI子上。 – BlueMonkMN 2014-04-10 14:42:20

+0

我錯過了您還需要將Form2上的菜單條控件的可見屬性設置爲False的部分,因爲該部分未包含在步驟列表中,而是包含在最後的段落中。 – BlueMonkMN 2014-04-10 15:31:30

相關問題