Teilen über


ContextMenu Klasse

Definition

Stellt ein Kontextmenü dar.

Diese Klasse ist in .NET Core 3.1 und höheren Versionen nicht verfügbar. Verwenden Sie stattdessen ContextMenuStrip. Dadurch wird das ContextMenu-Steuerelement ersetzt und erweitert.

public ref class ContextMenu : System::Windows::Forms::Menu
public class ContextMenu : System.Windows.Forms.Menu
type ContextMenu = class
    inherit Menu
Public Class ContextMenu
Inherits Menu
Vererbung

Beispiele

Im folgenden Codebeispiel wird ein Ereignishandler für das Popup -Ereignis von ContextMenuerstellt. Der Code im Ereignishandler bestimmt, welches der beiden Steuerelemente ein PictureBox benanntes pictureBox1 und ein TextBox benanntes textBox1 das Steuerelement ist, das das Kontextmenü anzeigt. Je nachdem, welches Steuerelement die Anzeige des ContextMenu Kontextmenüs verursacht hat, fügt das Steuerelement die entsprechenden MenuItem Objekte zu hinzu ContextMenu. In diesem Beispiel muss eine instance der -Klasse mit dem ContextMenu Namen contextMenu1definiert sein. Dieses Beispiel erfordert auch, dass Sie ein TextBox - und PictureBox zu einem Formular hinzugefügt haben und dass die ContextMenu Eigenschaft dieser Steuerelemente auf contextMenu1festgelegt ist.

private:
   void MyPopupEventHandler( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Define the MenuItem objects to display for the TextBox.
      MenuItem^ menuItem1 = gcnew MenuItem( "&Copy" );
      MenuItem^ menuItem2 = gcnew MenuItem( "&Find and Replace" );
      // Define the MenuItem object to display for the PictureBox.
      MenuItem^ menuItem3 = gcnew MenuItem( "C&hange Picture" );
      
      // Clear all previously added MenuItems.
      contextMenu1->MenuItems->Clear();

      if ( contextMenu1->SourceControl == textBox1 )
      {
         
         // Add MenuItems to display for the TextBox.
         contextMenu1->MenuItems->Add( menuItem1 );
         contextMenu1->MenuItems->Add( menuItem2 );
      }
      else if ( contextMenu1->SourceControl == pictureBox1 )
      {
         // Add the MenuItem to display for the PictureBox.
         contextMenu1->MenuItems->Add( menuItem3 );
      }
   }
private void MyPopupEventHandler(System.Object sender, System.EventArgs e)
 {
    // Define the MenuItem objects to display for the TextBox.
    MenuItem menuItem1 = new MenuItem("&Copy");
    MenuItem menuItem2 = new MenuItem("&Find and Replace");
    // Define the MenuItem object to display for the PictureBox.
    MenuItem menuItem3 = new MenuItem("C&hange Picture");

    // Clear all previously added MenuItems.
    contextMenu1.MenuItems.Clear();
 
    if(contextMenu1.SourceControl == textBox1)
    {
       // Add MenuItems to display for the TextBox.
       contextMenu1.MenuItems.Add(menuItem1);
       contextMenu1.MenuItems.Add(menuItem2);
    }
    else if(contextMenu1.SourceControl == pictureBox1)
    {
       // Add the MenuItem to display for the PictureBox.
       contextMenu1.MenuItems.Add(menuItem3);
    }
 }
Private Sub MyPopupEventHandler(sender As System.Object, e As System.EventArgs)
    ' Define the MenuItem objects to display for the TextBox.
    Dim menuItem1 As New MenuItem("&Copy")
    Dim menuItem2 As New MenuItem("&Find and Replace")
    ' Define the MenuItem object to display for the PictureBox.
    Dim menuItem3 As New MenuItem("C&hange Picture")
    
    ' Clear all previously added MenuItems.
    contextMenu1.MenuItems.Clear()
    
    If contextMenu1.SourceControl Is textBox1 Then
        ' Add MenuItems to display for the TextBox.
        contextMenu1.MenuItems.Add(menuItem1)
        contextMenu1.MenuItems.Add(menuItem2)
    ElseIf contextMenu1.SourceControl Is pictureBox1 Then
        ' Add the MenuItem to display for the PictureBox.
        contextMenu1.MenuItems.Add(menuItem3)
    End If
End Sub

Hinweise

Diese Klasse ist in .NET Core 3.1 und höheren Versionen nicht verfügbar. Verwenden Sie stattdessen ContextMenuStrip.

Die ContextMenu -Klasse stellt Kontextmenüs dar, die angezeigt werden können, wenn der Benutzer mit der rechten Maustaste über ein Steuerelement oder einen Bereich des Formulars klickt. Kontextmenüs werden in der Regel verwendet, um verschiedene Menüelemente aus einem MainMenu Formular zu kombinieren, die für den Benutzer im Kontext der Anwendung nützlich sind. Beispielsweise können Sie ein Kontextmenü verwenden, das einem TextBox Steuerelement zugewiesen ist, um Menüelemente zum Ändern der Schriftart des Texts, zum Suchen von Text im Steuerelement oder zum Kopieren und Einfügen von Text bereitzustellen. Sie können auch neue MenuItem Objekte in einem Kontextmenü anzeigen, die sich nicht in einem MainMenu befinden, um situationsspezifische Befehle bereitzustellen, die für die MainMenu Anzeige nicht geeignet sind.

In der Regel wird ein Kontextmenü angezeigt, wenn ein Benutzer mit der rechten Maustaste über ein Steuerelement oder das Formular selbst klickt. Sichtbare Steuerelemente und Form verfügen über eine ContextMenu Eigenschaft, die die ContextMenu -Klasse an das Steuerelement bindet, das das Kontextmenü anzeigt. Mehrere Steuerelemente können ein ContextMenuverwenden. Sie können die SourceControl -Eigenschaft verwenden, um zu bestimmen, welches Steuerelement das Kontextmenü zuletzt angezeigt hat, um aufgabenspezifisch für das Steuerelement auszuführen oder das für das Steuerelement angezeigte Kontextmenü zu ändern.

Möglicherweise möchten Sie wissen, wann das Kontextmenü angezeigt wird, um Häkchen festzulegen, Elemente zu deaktivieren und andere Menüaufgaben auszuführen, bevor das Menü für den Benutzer angezeigt wird. Sie können das Popup Ereignis behandeln, um zu bestimmen, wann das Kontextmenü angezeigt wird.

Hinweis

Um Objekte wiederzuverwenden MenuItem , die in einem MainMenu zur Verwendung in einem ContextMenuangezeigt werden, müssen Sie eine Kopie des Menüs mithilfe der CloneMenu -Methode der MenuItem -Klasse erstellen. Sie können Menüelemente und ihre Untermenüelemente auch mithilfe der MergeMenu -Methode der MenuItem -Klasse zu einem einzelnen MenuItem Objekt zusammenführen.

Konstruktoren

ContextMenu()

Initialisiert eine neue Instanz der ContextMenu-Klasse ohne Angabe von Menüelementen.

ContextMenu(MenuItem[])

Initialisiert eine neue Instanz der ContextMenu-Klasse mit dem angegebenen Satz von MenuItem-Objekten.

Felder

FindHandle

Gibt an, dass die FindMenuItem(Int32, IntPtr)-Methode nach einem Handle suchen soll.

(Geerbt von Menu)
FindShortcut

Gibt an, dass die FindMenuItem(Int32, IntPtr)-Methode nach einer Verknüpfung suchen soll.

(Geerbt von Menu)

Eigenschaften

CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.

(Geerbt von Component)
Container

Ruft die IContainer ab, die in der Component enthalten ist.

(Geerbt von Component)
DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.

(Geerbt von Component)
Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.

(Geerbt von Component)
Handle

Ruft einen Wert ab, der das Fensterhandle für das Menü darstellt.

(Geerbt von Menu)
IsParent

Ruft einen Wert ab, der angibt, ob dieses Menü Menüelemente enthält. Diese Eigenschaft ist schreibgeschützt.

(Geerbt von Menu)
MdiListItem

Ruft einen Wert ab, der das MenuItem angibt, mit dem eine Liste von untergeordneten MDI-Formularen (Multiple Document Interface) angezeigt wird.

(Geerbt von Menu)
MenuItems

Ruft einen Wert ab, der die Auflistung der dem Menü zugeordneten MenuItem-Objekte angibt.

(Geerbt von Menu)
Name

Ruft den Namen der Menu ab oder legt diesen fest.

(Geerbt von Menu)
RightToLeft

Ruft einen Wert ab, der angibt, ob der Text im Steuerelement von rechts nach links angezeigt wird, oder legt diesen fest.

Site

Ruft den ISite von Component ab oder legt ihn fest.

(Geerbt von Component)
SourceControl

Ruft das Steuerelement ab, das das Kontextmenü anzeigt.

Tag

Ruft benutzerdefinierte, dem Steuerelement zugeordnete Daten ab oder legt diese fest.

(Geerbt von Menu)

Methoden

CloneMenu(Menu)

Kopiert das Menu, das als Parameter an das aktuelle Menu übergeben wird.

(Geerbt von Menu)
CreateMenuHandle()

Erstellt ein neues Handle für Menu.

(Geerbt von Menu)
CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.

(Geerbt von Component)
Dispose(Boolean)

Gibt mit Ausnahme des Speichers die von der Menu-Klasse verwendeten Ressourcen frei.

(Geerbt von Menu)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
FindMenuItem(Int32, IntPtr)

Ruft das MenuItem ab, das den angegebenen Wert enthält.

(Geerbt von Menu)
FindMergePosition(Int32)

Gibt die Position zurück, an der ein Menüelement in das Menü eingefügt werden soll.

(Geerbt von Menu)
GetContextMenu()

Ruft das ContextMenu ab, das dieses Menü enthält.

(Geerbt von Menu)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetMainMenu()

Ruft das MainMenu ab, das dieses Menü enthält.

(Geerbt von Menu)
GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
MergeMenu(Menu)

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

(Geerbt von Menu)
OnCollapse(EventArgs)

Löst das Collapse-Ereignis aus.

OnPopup(EventArgs)

Löst das Popup-Ereignis aus.

ProcessCmdKey(Message, Keys)

Verarbeitet eine Befehlstaste.

(Geerbt von Menu)
ProcessCmdKey(Message, Keys, Control)

Verarbeitet eine Befehlstaste.

Show(Control, Point)

Zeigt das Kontextmenü an der angegebenen Position an.

Show(Control, Point, LeftRightAlignment)

Zeigt das Kontextmenü an der angegebenen Position und mit der angegebenen Ausrichtung an.

ToString()

Gibt einen String zurück, der das Menu-Steuerelement darstellt.

(Geerbt von Menu)

Ereignisse

Collapse

Tritt ein, wenn das Kontextmenü geschlossen wird.

Disposed

Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird.

(Geerbt von Component)
Popup

Tritt ein, bevor das Kontextmenü angezeigt wird.

Gilt für:

Weitere Informationen