言語

Menu.MergeMenu(Menu) メソッド

定義

1 つのメニューの MenuItem オブジェクトを現在のメニューとマージします。

public:
 virtual void MergeMenu(System::Windows::Forms::Menu ^ menuSrc);
public virtual void MergeMenu(System.Windows.Forms.Menu menuSrc);
abstract member MergeMenu : System.Windows.Forms.Menu -> unit
override this.MergeMenu : System.Windows.Forms.Menu -> unit
Public Overridable Sub MergeMenu (menuSrc As Menu)

パラメーター

menuSrc
Menu

メニュー項目が現在のメニューのメニュー項目とマージされる Menu

例外

メニューをそれ自体とマージしようとしました。

この例では、 mainMenu1mainMenu2の 2 つのメニューを作成します。 最初のメニューには 1 つの MenuItemFile、2 番目のメニューには 1 つの MenuItem ( Edit) が含まれています。 MergeMenuメソッドを使用して、mainMenu2mainMenu1にマージします。 表示されると、 mainMenu1 には、 FileEditの 2 つのメニュー項目が含まれます。 この例では、Formという名前のForm1を作成している必要があります。

private:
   void InitializeMyMainMenu()
   {
      // Create the 2 menus and the menu items to add.
      MainMenu^ mainMenu1 = gcnew MainMenu;
      MainMenu^ mainMenu2 = gcnew MainMenu;
      MenuItem^ menuItem1 = gcnew MenuItem;
      MenuItem^ menuItem2 = gcnew MenuItem;

      // Set the caption for the menu items.
      menuItem1->Text = "File";
      menuItem2->Text = "Edit";

      // Add a menu item to each menu for displaying.
      mainMenu1->MenuItems->Add( menuItem1 );
      mainMenu2->MenuItems->Add( menuItem2 );

      // Merge mainMenu2 with mainMenu1
      mainMenu1->MergeMenu( mainMenu2 );

      // Assign mainMenu1 to the form.
      this->Menu = mainMenu1;
   }
      private void InitializeMyMainMenu()
      {
          // Create the 2 menus and the menu items to add.
          MainMenu mainMenu1 = new MainMenu();
          MainMenu mainMenu2 = new MainMenu();

          MenuItem menuItem1 = new MenuItem();
          MenuItem menuItem2 = new MenuItem();

          // Set the caption for the menu items.
          menuItem1.Text = "File";
          menuItem2.Text = "Edit";

          // Add a menu item to each menu for displaying.
          mainMenu1.MenuItems.Add(menuItem1);
          mainMenu2.MenuItems.Add(menuItem2);

          // Merge mainMenu2 with mainMenu1
          mainMenu1.MergeMenu(mainMenu2);

          // Assign mainMenu1 to the form.
          this.Menu = mainMenu1;
      }
Private Sub InitializeMyMainMenu()
    ' Create the 2 menus and the menu items to add.
    Dim mainMenu1 As New MainMenu()
    Dim mainMenu2 As New MainMenu()

    Dim menuItem1 As New MenuItem()
    Dim menuItem2 As New MenuItem()

    ' Set the caption for the menu items.
    menuItem1.Text = "File"
    menuItem2.Text = "Edit"

    ' Add a menu item to each menu for displaying.
    mainMenu1.MenuItems.Add(menuItem1)
    mainMenu2.MenuItems.Add(menuItem2)

    ' Merge mainMenu2 with mainMenu1
    mainMenu1.MergeMenu(mainMenu2)

    ' Assign mainMenu1 to the form.
    Me.Menu = mainMenu1
End Sub

注釈

このメソッドは、1 つのメニューから現在のメニュー MenuItem オブジェクトをマージします。 MenuItem オブジェクトは、 MenuItem.MergeType プロパティと MenuItem.MergeOrder プロパティの値に従ってマージされます。

メニューのマージは、通常、複数ドキュメント インターフェイス (MDI) 親フォームのメニューをアクティブな MDI 子フォームのメニューとマージするために行われます。 これは、.NET Framework 共通言語ランタイムによって自動的に実行されます。 たとえば、MDI 親フォームにファイルを処理するための一連のメニューが含まれており、MDI 子フォームにもファイル関連のメニュー項目がある場合、MDI 親フォームに子フォームが表示されると、メニュー セットは自動的に 1 つのファイル メニュー セットにマージされます。

MDI アプリケーションに含まれていない 2 つのメニュー構造をマージする場合は、 MergeMenu メソッドを使用できます。 この実装は、 MainMenu クラスまたは ContextMenu クラスによって呼び出され、 Menuから派生する 2 つ以上のオブジェクトをマージできます。

2 つの MenuItem オブジェクトをマージするには、 MenuItem.MergeMenu メソッドを使用します。

適用対象

こちらもご覧ください