Menu.MergeMenu(Menu) 方法

定义

将一个菜单的 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。 第一个菜单包含一个 MenuItemFile,第二个菜单包含一个 MenuItemEditMergeMenu使用 方法, mainMenu2mainMenu1合并。 显示 时, mainMenu1 将包含两个菜单项和 FileEdit。 此示例要求已创建名为 FormForm1

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.MergeOrder 属性的值MenuItem.MergeType进行合并。

菜单合并通常是为了将多文档界面 (MDI) 父窗体的菜单与其活动 MDI 子窗体的菜单合并。 这由.NET Framework公共语言运行时自动执行。 例如,如果 MDI 父窗体包含一组用于处理文件的菜单,并且 MDI 子窗体也具有与文件相关的菜单项,则当子窗体显示在 MDI 父窗体中时,菜单集将自动合并到单个文件菜单集。

如果要合并两个不属于 MDI 应用程序的菜单结构,则可以使用 MergeMenu 方法。 此实现可由 或 ContextMenu 类调用MainMenu,以合并派生自 Menu的两个或多个 对象。

若要合并两个 MenuItem 对象, MenuItem.MergeMenu 请使用 方法。

适用于

另请参阅