次の方法で共有


MenuItem.MergeMenu メソッド

この MenuItem と別の MenuItem をマージします。

オーバーロードの一覧

この MenuItem と別の MenuItem をマージし、マージ後に作成された MenuItem を返します。

[Visual Basic] Overloads Public Overridable Function MergeMenu() As MenuItem

[C#] public virtual MenuItem MergeMenu();

[C++] public: virtual MenuItem* MergeMenu();

[JScript] public function MergeMenu() : MenuItem;

別のメニュー項目とこのメニュー項目をマージします。

[Visual Basic] Overloads Public Sub MergeMenu(MenuItem)

[C#] public void MergeMenu(MenuItem);

[C++] public: void MergeMenu(MenuItem*);

[JScript] public function MergeMenu(MenuItem);

Menu から継承されます。

[Visual Basic] Overloads Public Overridable Sub MergeMenu(Menu)

[C#] public virtual void MergeMenu(Menu);

[C++] public: virtual void MergeMenu(Menu*);

[JScript] public function MergeMenu(Menu);

使用例

[Visual Basic, C#, C++] このバージョンの MergeMenu メソッドを使用して MenuItem のコピーを作成し、そのコピーを別のメニュー項目にマージする例を次に示します。マージ後の MenuItem は、その後 ContextMenu コントロールに追加されます。この例は、サブメニュー項目を含んでいる 2 つのメニュー項目 menuItem1 および menuItem2 があり、これらのメニュー項目を表示する contextMenu1 という名前の ContextMenu があることを前提にしています。 menuItem1menuItem2 には、異なるメニュー項目が格納されています。 MergeMenu が呼び出された後で、統合されたメニューが作成されます。

[Visual Basic, C#, C++] メモ   ここでは、MergeMenu のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
Private Sub MergeMyMenus()
    ' Set the merge type to merge the items from both top menu items.
    menuItem1.MergeType = MenuMerge.MergeItems
    menuItem2.MergeType = MenuMerge.MergeItems
    ' Create a copy of my menu item.
    Dim tempMenuItem As New MenuItem()
    ' Create a copy of menuItem1 before doing the merge.
    tempMenuItem = menuItem1.CloneMenu()
    ' Merge menuItem1's copy with a clone of menuItem2
    tempMenuItem.MergeMenu(menuItem2.CloneMenu())
       
    ' Add the merged menu to the ContextMenu control.
    contextMenu1.MenuItems.Add(tempMenuItem)
End Sub


[C#] 
private void MergeMyMenus()
{
   // Set the merge type to merge the items from both top menu items.
   menuItem1.MergeType = MenuMerge.MergeItems;
   menuItem2.MergeType = MenuMerge.MergeItems;
   // Create a copy of my menu item.
   MenuItem tempMenuItem = new MenuItem();
   // Create a copy of menuItem1 before doing the merge.
   tempMenuItem = menuItem1.CloneMenu();
   // Merge menuItem1's copy with a clone of menuItem2
   tempMenuItem.MergeMenu(menuItem2.CloneMenu());

   // Add the merged menu to the ContextMenu control.
   contextMenu1.MenuItems.Add(tempMenuItem);
}


[C++] 
private:
 void MergeMyMenus()
 {
    // Set the merge type to merge the items from both top menu items.
    menuItem1->MergeType = MenuMerge::MergeItems;
    menuItem2->MergeType = MenuMerge::MergeItems;
    // Create a copy of my menu item.
    MenuItem* tempMenuItem = new MenuItem();
    // Create a copy of menuItem1 before doing the merge.
    tempMenuItem = menuItem1->CloneMenu();
    // Merge menuItem1's copy with a clone of menuItem2
    tempMenuItem->MergeMenu(menuItem2->CloneMenu());
 
    // Add the merged menu to the ContextMenu control.
    contextMenu1->MenuItems->Add(tempMenuItem);
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

MenuItem クラス | MenuItem メンバ | System.Windows.Forms 名前空間