Freigeben über


Menu.MergeMenu-Methode

Führt die MenuItem-Objekte eines Menüs mit dem aktuellen Menü zusammen.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Overridable Sub MergeMenu ( _
    menuSrc As Menu _
)
'Usage
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
)

Parameter

  • menuSrc
    Das Menu, dessen Menüelemente mit den Menüelementen des aktuellen Menüs zusammengeführt werden.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

Es wurde versucht, das Menü mit sich selbst zusammenzuführen.

Hinweise

Diese Methode führt MenuItem-Objekte aus einem Menü mit dem aktuellen Menü zusammen. MenuItem-Objekte werden entsprechend den Werten der MenuItem.MergeType-Eigenschaft und der MenuItem.MergeOrder-Eigenschaft zusammengeführt.

Am häufigsten werden die Menüs eines übergeordneten MDI-Formulars (Multiple Document Interface) mit denen des untergeordneten MDI-Formulars zusammengeführt. Dies wird automatisch von der Common Language Runtime von .NET Framework ausgeführt. Wenn z. B. ein übergeordnetes MDI-Formular eine Reihe von Menüs zur Dateibehandlung enthält und das untergeordnete MDI-Formular auch dateibezogene Menüelemente hat, werden die Menügruppen bei der Anzeige des untergeordneten Formulars in dem übergeordneten MDI-Formular automatisch in einer einziger Dateimenügruppe zusammengeführt.

Mit der MergeMenu-Methode lassen sich zwei Menüstrukturen zusammenführen, die nicht Teil einer MDI-Anwendung sind. Diese Implementierung kann durch die MainMenu-Klasse oder die ContextMenu-Klasse aufgerufen werden, um zwei oder mehr Objekte zusammenzuführen, die von Menu abgeleitet sind.

Verwenden Sie zum Zusammenführen zweier MenuItem-Objekte die MenuItem.MergeMenu-Methode.

Beispiel

Im Beispiel werden zwei Menüs, mainMenu1 und mainMenu2, erstellt. Das erste Menü enthält ein MenuItem (File), und das zweite Menü enthält ein MenuItem (Edit). Bei Verwendung der MergeMenu-Methode wird mainMenu2 mit mainMenu1 zusammengeführt. Bei der Anzeige enthält mainMenu1 die beiden Menüelemente File und Edit. Bei diesem Beispiel ist es erforderlich, dass zuvor eine Form mit dem Namen Form1 erstellt wurde.

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

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Menu-Klasse
Menu-Member
System.Windows.Forms-Namespace
MenuItem.MergeType
MenuItem.MergeOrder