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

例外

メニューをそのメニュー自身にマージしようとしました。

この例では、とという2つのメニューを作成し mainMenu1 mainMenu2 ます。 最初のメニューには、が1つ含まれています。2つ目のメニューには、が MenuItem File 含まれてい MenuItem Edit ます。 メソッドを使用する MergeMenu mainMenu2 と、はとマージされ mainMenu1 ます。 表示されると、に mainMenu1 は、との2つのメニュー項目が含まれ File Edit ます。 この例では、という名前のを作成している必要があり 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

注釈

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

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

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

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

適用対象

こちらもご覧ください