MenuItem.MergeMenu メソッド

定義

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

オーバーロード

名前 説明
MergeMenu(MenuItem)

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

MergeMenu()

この MenuItem を別の MenuItem とマージし、結果としてマージされた MenuItemを返します。

MergeMenu(MenuItem)

ソース:
MenuItem.cs
ソース:
MenuItem.cs

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

public:
 void MergeMenu(System::Windows::Forms::MenuItem ^ itemSrc);
public void MergeMenu(System.Windows.Forms.MenuItem itemSrc);
override this.MergeMenu : System.Windows.Forms.MenuItem -> unit
Public Sub MergeMenu (itemSrc As MenuItem)

パラメーター

itemSrc
MenuItem

このメニュー項目とマージするメニュー項目を指定する MenuItem

次のコード例では、このバージョンの MergeMenu メソッドを使用して MenuItem のコピーを作成し、別のとマージします。 マージされた MenuItem は、 ContextMenu コントロールに追加されます。 この例では、サブメニュー項目を含む menuItem1menuItem2 という 2 つのメニュー項目と、メニュー項目を表示するための ContextMenu という名前のcontextMenu1が必要です。 menuItem1 menuItem2には、異なるメニュー項目が含まれています。 MergeMenuの呼び出しが行われると、統合メニューが作成されます。

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 = gcnew 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 );
   }
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);
}
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

注釈

メニュー項目は、メニュー項目の MergeType プロパティと MergeOrder プロパティの値に従ってマージされます。 このバージョンの MergeMenu メソッドを使用すると、2 つの MenuItem オブジェクト (およびそのサブメニュー) を 1 つのメニューにマージできます。 メニューのマージは、複数ドキュメント インターフェイス (MDI) の親フォームと子の両方にメニューがある場合に自動的に処理されます。 このバージョンのメソッドを使用すると、MenuItem コントロールにある 2 つのMainMenu オブジェクト (およびそのサブメニュー項目) を、ContextMenu内の 1 つのメニューにマージできます。 たとえば、このバージョンの MergeMenu メソッドを呼び出して、[ファイル] メニューと [編集] メニューのメニュー項目を 1 つの MenuItem にマージし、 ContextMenuに追加して表示することができます。

適用対象

MergeMenu()

ソース:
MenuItem.cs
ソース:
MenuItem.cs

この MenuItem を別の MenuItem とマージし、結果としてマージされた MenuItemを返します。

public:
 virtual System::Windows::Forms::MenuItem ^ MergeMenu();
public virtual System.Windows.Forms.MenuItem MergeMenu();
override this.MergeMenu : unit -> System.Windows.Forms.MenuItem
Public Overridable Function MergeMenu () As MenuItem

返品

結合されたメニュー項目を表す MenuItem

注釈

このバージョンの MergeMenuを呼び出すと、返される MenuItem は、現在のメニュー項目の機能に影響を与えずに別のメニュー項目とマージできる現在のメニュー項目のコピーです。 このバージョンの MergeMenu メソッドは、パラメーターを含まない CloneMenu メソッドを呼び出すのと似ています。

適用対象