Freigeben über


Menu-Klasse

Stellt die Basisfunktionen für alle Menüs dar. Obwohl ToolStripDropDown und ToolStripDropDownMenu Funktionen des Menu-Steuerelements früherer Versionen ersetzen und erweitern, kann Menu aus Gründen der Abwärtskompatibilität und zur künftigen Verwendung beibehalten werden.

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

Syntax

'Declaration
Public MustInherit Class Menu
    Inherits Component
'Usage
Dim instance As Menu
public abstract class Menu : Component
public ref class Menu abstract : public Component
public abstract class Menu extends Component
public abstract class Menu extends Component

Hinweise

Dies ist die Basisklasse für die Klassen MainMenu, MenuItem und ContextMenu. Sie können keine Instanz dieser Klasse erstellen. Die Menüs für eine Anwendung bestehen aus MenuItem-Objekten. Diese können weitere MenuItem-Objekte enthalten, die Untermenüelemente darstellen. Die MenuItem-Objekte können zur Anzeige in MainMenu als vollständige Menüstruktur für ein Formular oder ein ContextMenu gespeichert werden, mit dem Kontextmenüs angezeigt werden. Diese Klasse stellt Funktionen bereit, die allen Menüklassen gemeinsam sind.

Anders als viele Basisklassen verwendet die Menu-Klasse ihre abgeleiteten Klassen zum Definieren vieler ihrer Eigenschaften. Wenn Sie das Menü in einer MDI-Anwendung (Multiple Document Interface) verwenden, können Sie mit der MdiListItem-Eigenschaft ein MenuItem angeben, das eine Liste geöffneter, untergeordneter MDI-Formulare in der Anwendung anzeigt. Die MenuItems-Eigenschaft enthält eine Liste von in der Menüklasse gespeicherten MenuItem-Objekten. Bei einem MainMenu oder einem ContextMenu enthält diese Eigenschaft alle angezeigten MenuItem-Objekte. Bei einem MenuItem stellt die MenuItems-Eigenschaft die diesem zugeordneten Untermenüelemente dar.

Zusätzlich zu den Eigenschaften, die für alle abgeleiteten Menüklassen bereitgestellt werden, stellt die Menu-Klasse auch Methoden bereit, mit denen Sie neue Menüs aus vorhandenen Menüs erstellen und außerdem zwei Menüstrukturen zusammenführen können, z. B. die CloneMenu-Methode und die MergeMenu-Methode.

Die Menu-Klasse definiert zudem die geschachtelte Klasse Menu.MenuItemCollection. Diese Klasse definiert die Auflistung von MenuItem-Objekten, die von der MenuItems-Eigenschaft verwendet werden. Die Methoden der Menu.MenuItemCollection-Klasse werden außerdem zum Hinzufügen und Entfernen von Menüelementen in MainMenu, ContextMenu oder MenuItem verwendet.

Beispiel

Im folgenden Codebeispiel wird mithilfe der abgeleiteten Klasse MenuItem eine Menüstruktur für ein Formular erstellt. Der Beispielcode fügt MenuItem hinzu, um das Menüelement der obersten Ebene darzustellen. Außerdem wird ein Untermenüelement zum Auswählen der Schriftgröße hinzugefügt, und anschließend werden diesem Menüelement zwei Untermenüelemente hinzugefügt, mit denen in einer Anwendung zwischen einer großen und einer kleinen Schriftart gewählt werden kann. Für dieses Beispiel müssen das MainMenu-Objekt mit dem Namen mainMenu1 sowie die vier MenuItem-Objekte mit den Namen menuItem1, menuItem2, menuItem3 und menuItem4 vorhanden sein.

Public Sub CreateMyMenu()
    ' Set the caption for the top-level menu item.
    menuItem1.Text = "Edit"
    ' Set the caption for the first submenu.
    menuItem2.Text = "Font Size"
    ' Set the caption for menuItem2's first submenu.
    menuItem3.Text = "Small"
    ' Set the checked property to true since this is the default value.
    menuItem3.Checked = True
    ' Define a shortcut key combination for the menu item.
    menuItem3.Shortcut = Shortcut.CtrlS
    ' Set the caption of the second sub menu item of menuItem2.
    menuItem4.Text = "Large"
    ' Define a shortcut key combination for the menu item.
    menuItem4.Shortcut = Shortcut.CtrlL
    ' Set the index of the menu item so it is placed below the first submenu item.
    menuItem4.Index = 1
    ' Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2.MenuItems.Add(menuItem3)
    menuItem2.MenuItems.Add(menuItem4)
    ' Add menuItem2 to menuItem1's list of menu items.
    menuItem1.MenuItems.Add(menuItem2)
    ' Add menuItem1 to the MainMenu for displaying.
    mainMenu1.MenuItems.Add(menuItem1)
End Sub
public void CreateMyMenu()
    {
    // Set the caption for the top-level menu item.
    menuItem1.Text = "Edit";
    // Set the caption for the first submenu.
    menuItem2.Text = "Font Size";
    // Set the caption for menuItem2's first submenu.
    menuItem3.Text = "Small";
    // Set the checked property to true since this is the default value.
    menuItem3.Checked = true;
    // Define a shortcut key combination for the menu item.
    menuItem3.Shortcut = Shortcut.CtrlS;
    // Set the caption of the second sub menu item of menuItem2.
    menuItem4.Text = "Large";
    // Define a shortcut key combination for the menu item.
    menuItem4.Shortcut = Shortcut.CtrlL;
    // Set the index of the menu item so it is placed below the first submenu item.
    menuItem4.Index = 1;
    // Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2.MenuItems.Add(menuItem3);
    menuItem2.MenuItems.Add(menuItem4);
    // Add menuItem2 to menuItem1's list of menu items.
    menuItem1.MenuItems.Add(menuItem2);
    // Add menuItem1 to the MainMenu for displaying.
    mainMenu1.MenuItems.Add(menuItem1);
    }
public:
   void CreateMyMenu()
   {
      // Set the caption for the top-level menu item.
      menuItem1->Text = "Edit";
      // Set the caption for the first submenu.
      menuItem2->Text = "Font Size";
      // Set the caption for menuItem2's first submenu.
      menuItem3->Text = "Small";
      // Set the checked property to true since this is the default value.
      menuItem3->Checked = true;
      // Define a shortcut key combination for the menu item.
      menuItem3->Shortcut = Shortcut::CtrlS;
      // Set the caption of the second sub menu item of menuItem2.
      menuItem4->Text = "Large";
      // Define a shortcut key combination for the menu item.
      menuItem4->Shortcut = Shortcut::CtrlL;
      // Set the index of the menu item so it is placed below the first submenu item.
      menuItem4->Index = 1;
      // Add menuItem3 and menuItem4 to menuItem2's list of menu items.
      menuItem2->MenuItems->Add( menuItem3 );
      menuItem2->MenuItems->Add( menuItem4 );
      // Add menuItem2 to menuItem1's list of menu items.
      menuItem1->MenuItems->Add( menuItem2 );
      // Add menuItem1 to the MainMenu for displaying.
      mainMenu1->MenuItems->Add( menuItem1 );
   }
public void CreateMyMenu()
{
    // Set the caption for the top-level menu item.
    menuItem1.set_Text("Edit");

    // Set the caption for the first submenu.
    menuItem2.set_Text("Font Size");

    // Set the caption for menuItem2's first submenu.
    menuItem3.set_Text("Small");

    // Set the checked property to true since this is the default value.
    menuItem3.set_Checked(true);

    // Define a shortcut key combination for the menu item.
    menuItem3.set_Shortcut(Shortcut.CtrlS);

    // Set the caption of the second sub menu item of menuItem2.
    menuItem4.set_Text("Large");

    // Define a shortcut key combination for the menu item.
    menuItem4.set_Shortcut(Shortcut.CtrlL);

    // Set the index of the menu item so it is placed below
    //the first submenu item.
    menuItem4.set_Index(1);

    // Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2.get_MenuItems().Add(menuItem3);
    menuItem2.get_MenuItems().Add(menuItem4);

    // Add menuItem2 to menuItem1's list of menu items.
    menuItem1.get_MenuItems().Add(menuItem2);

    // Add menuItem1 to the MainMenu for displaying.
    mainMenu1.get_MenuItems().Add(menuItem1);
} //CreateMyMenu

Vererbungshierarchie

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
      System.Windows.Forms.Menu
         System.Windows.Forms.ContextMenu
         System.Windows.Forms.MainMenu
         System.Windows.Forms.MenuItem

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

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

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

Menu-Member
System.Windows.Forms-Namespace
MainMenu-Klasse
ContextMenu-Klasse
MenuItem