2011-03-23 26 views
0

我正在製作一種形式,是另一種形式的子類,「基本形式」如何將兒童窗體類的菜單欄中的其他項合併到其基類的菜單欄中的原始項目中? (WInforms)

在基本形式中,我有一個菜單條。它裏面有幾件物品。

但隨後,在孩子形式,我想有一個菜單條也只是它必須有所有的基本菜單條包含的項目。我在某處閱讀可以合併菜單條的地方......但我也希望有設計師的支持!

。就是說,如果我打開在設計孩子的形式,它會顯示所有基本形式的項目加上新的子窗體的項目。最好,我希望基本形式的項目被鎖定。

這可能嗎?如果沒有,我想我可以在子窗體中的InitializeComponent之後合併基本菜單條。

任何想法?

回答

1

您可以合併兩個菜單是這樣的:

ToolStripManager.Merge(source, target) 

例如,在form2.load,你可以使用它來窗口2的菜單,Form1的菜單相結合:

ToolStripManager.Merge(Form1.MenuStrip1, MenuStrip1) 
0

的OP說「我也希望有設計師支持「,儘管您仍然需要使用@xpda提出的Merge()調用,但這是可能的。您可以將子項目添加到子類設計器中的MenuStrip,並以正常方式進行編輯。在設計器中,此條顯示在基類菜單條的下方。

執行表單時,合併(源,目標)調用將從源(子)MenuStrip中刪除項目並將它們複製到目標(基本)MenuStrip。 但是子菜單欄現在爲空白,在主菜單下仍然可見。您必須將其Visible屬性設置爲false,您可以在設計器中執行此操作,或者在Merge()調用後以編程方式執行此操作。

相關問題