次の方法で共有


MenuItem.MergeMenu メソッド

定義

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

オーバーロード

MergeMenu(MenuItem)

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

MergeMenu()

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

MergeMenu(MenuItem)

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

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 追加されます。 この例では、2 つのメニュー項目が呼び出 menuItem1 され、 menuItem2 その中にサブメニュー項目が含まれており、 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) の親フォームと子の両方にメニューがある場合、メニューのマージは自動的に処理されます。 このバージョンのメソッドを使用すると、コントロール内MainMenuの 2 つのMenuItemオブジェクト (およびそのサブメニュー項目) を 1 つのメニューContextMenuにマージできます。 たとえば、このバージョンのメソッドを MergeMenu 呼び出して、[ファイル] メニューと [編集] メニューのメニュー項目を 1 つに MenuItem マージし ContextMenu、次に ..

適用対象

MergeMenu()

この 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

マージされたメニュー項目を表す MenuItem

注釈

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

適用対象