Menu.MergeMenu 方法

将一个菜单的 MenuItem 对象与当前菜单合并。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Public Overridable Sub MergeMenu ( _
    menuSrc As Menu _
)
用法
Dim instance As Menu
Dim menuSrc As Menu

instance.MergeMenu(menuSrc)
public virtual void MergeMenu (
    Menu menuSrc
)
public:
virtual void MergeMenu (
    Menu^ menuSrc
)
public void MergeMenu (
    Menu menuSrc
)
public function MergeMenu (
    menuSrc : Menu
)

参数

  • menuSrc
    其菜单项与当前菜单的菜单项合并的 Menu

异常

异常类型 条件

ArgumentException

它已试图将菜单与自己合并在一起。

备注

该方法将一个菜单的 MenuItem 对象与当前菜单合并。根据 MenuItem.MergeTypeMenuItem.MergeOrder 属性的值合并 MenuItem 对象。

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

如果正在合并不是 MDI 应用程序一部分的两个菜单结构,可使用 MergeMenu 方法。由 MainMenuContextMenu 类调用该实现,以合并两个或多个从 Menu 派生的对象。

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

示例

此示例创建了两个菜单,即 mainMenu1mainMenu2。第一个菜单包含一个 MenuItemFile,第二个菜单包含一个 MenuItemEdit。通过使用 MergeMenu 方法,将 mainMenu2mainMenu1 合并。显示 mainMenu1 时,它将包含两个菜单项,即 FileEdit。此示例要求已创建了一个名为 Form1Form

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 'InitializeMyMainMenu
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:
   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.set_Text("File");
    menuItem2.set_Text("Edit");

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

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

    // Assign mainMenu1 to the form.
    this.set_Menu(mainMenu1);
} //InitializeMyMainMenu

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

Menu 类
Menu 成员
System.Windows.Forms 命名空间
MenuItem.MergeType
MenuItem.MergeOrder