Genauere Betrachtung: Weitere Informationen zu Menüs

Aktualisiert: November 2007

In dieser Lektion erfahren Sie, wie Sie Menüs zur Laufzeit aktivieren bzw. deaktivieren und wie Sie Popupmenüs erstellen.

In der vorherigen Lektion haben Sie gelernt, wie Sie mithilfe des MenuStrip-Steuerelements Menüs erstellen können, über die Benutzer Programmfunktionen auswählen können. In einigen Fällen stehen Auswahlmöglichkeiten jedoch möglicherweise nur zu bestimmten Zeitpunkten zur Verfügung. Der Menübefehl Kopieren stände beispielsweise nur zur Verfügung, wenn es auch etwas zu kopieren gibt.

In den meisten Programme werden Menübefehle, wenn sie nicht verfügbar sind, deaktiviert und nicht ausgeblendet. Wenn ein Menüelement deaktiviert ist, wird der Menütext grau dargestellt und das Klicken auf das Menüelement hat keine Reaktion zur Folge. Beim Verwenden eines MenuStrip-Steuerelements können Sie Menüelemente mithilfe der Enabled-Eigenschaft des MenuItem deaktivieren bzw. aktivieren.

Übung

So deaktivieren oder aktivieren Sie Menüelemente

  1. Klicken Sie im Menü Datei unter Neu auf den Befehl Projekt.

  2. Klicken Sie im Dialogfeld Neues Projekt im Bereich Vorlagen auf Windows Forms-Anwendung.

  3. Geben Sie im Feld Name den Namen Menus2 ein, und klicken Sie dann auf OK.

    Ein neues Windows Forms-Projekt wird geöffnet.

  4. Ziehen Sie ein MenuStrip-Steuerelement und ein TextBox-Steuerelement aus der Toolbox auf das Formular.

  5. Klicken Sie im Formular auf das MenuStrip-Steuerelement, geben Sie Edit, ein, und drücken Sie anschließend die EINGABETASTE.

  6. Geben Sie im Feld unterhalb des ersten Felds Copy, ein, und drücken Sie dann die EINGABETASTE.

  7. Legen Sie im Eigenschaftenfenster die Enabled-Eigenschaft des CopyToolStripMenuItem auf False fest.

  8. Doppelklicken Sie auf das TextBox-Steuerelement, um den Code-Editor zu öffnen.

  9. Geben Sie im TextBox1_TextChanged-Ereignishandler folgenden Code ein.

    If Textbox1.Text <> "" Then
      CopyToolStripMenuItem.Enabled = True
    Else
      CopyToolStripMenuItem.Enabled = False
    End If
    
  10. Drücken Sie F5, um das Programm auszuführen. Klicken Sie auf das Menü Bearbeiten. Das Menüelement Kopieren ist deaktiviert. Geben Sie in das TextBox-Steuerelement einen beliebigen Text ein, und klicken Sie dann erneut auf das Menü Bearbeiten. Das Menüelement Kopieren ist jetzt aktiviert.

Erstellen von Popupmenüs

Viele Programme verwenden Popupmenüs, die auch als Kontextmenüs bezeichnet werden, um den Zugriff auf häufig verwendete Befehle zu vereinfachen. Sie rufen ein Kontextmenü auf, indem Sie zur Laufzeit mit der rechten Maustaste auf ein Formular oder Steuerelement klicken. In Visual Basic können Sie mit einem ContextMenuStrip-Steuerelement eigene Kontextmenüs erstellen.

Wie auch beim MenuStrip-Steuerelement wird das ContextMenuStrip-Steuerelement, wenn Sie das ContextMenuStrip-Steuerelement auf ein Formular ziehen, als Feld mit der Beschriftung "Hier eingeben" im oberen Teil des Formulars angezeigt, und dem Komponentenfach wird ein Symbol hinzugefügt. Im Unterschied zu MenuStrip können zusätzliche Elemente nur unterhalb des ersten Menüelements eingefügt werden. Dadurch entsteht ein vertikales Menü.

Darüber hinaus muss ein ContextMenuStrip-Steuerelement mit dem Formular oder Steuerelement verknüpft werden, auf dem es angezeigt werden soll. Sie erreichen dies, indem Sie die ContextMenuStrip-Eigenschaft des Formulars oder Steuerelements auf den Namen des ContextMenuStrip-Steuerelements festlegen. Sie können ein einzelnes ContextMenuStrip mit einer beliebigen Anzahl von Steuerelementen verknüpfen.

Übung

So erstellen Sie ein Kontextmenü

  1. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  2. Klicken Sie im Dialogfeld Neues Projekt im Bereich Vorlagen auf Windows Forms-Anwendung.

  3. Geben Sie ContextMenus in das Feld Name ein, und klicken Sie dann auf OK.

    Ein neues Windows Forms-Projekt wird geöffnet.

  4. Ziehen Sie ein ContextMenuStrip-Steuerelement aus der Toolbox auf das Formular.

  5. Klicken Sie in der Entwurfsansicht auf das Formular. Wählen Sie im Eigenschaftenfenster die ContextMenuStrip-Eigenschaft des Formulars aus, und klicken Sie dann in der Dropdownliste auf den Eintrag ContextMenuStrip1.

  6. Klicken Sie im Komponentenfach unten in der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) auf das ContextMenuStrip-Steuerelement. Geben Sie im ContextMenuStrip die Option Option1 ein, und drücken Sie dann die EINGABETASTE.

  7. Geben Sie im Feld unterhalb des ersten Felds Option2, ein, und drücken Sie dann die EINGABETASTE.

  8. Doppelklicken Sie auf das Menüelement Option1, um den Code-Editor zu öffnen.

  9. Geben Sie im Option1ToolStripMenuItem_Click-Ereignishandler folgenden Code ein.

    MsgBox("You chose Option 1")
    
  10. Wählen Sie im Code-Editor im linken Dropdownfeld den Eintrag Option2ToolStripMenuItem und dann im rechten Dropdownfeld Click aus.

    Im Code-Editor wird ein neuer Ereignishandler mit der Bezeichnung Option2ToolStripMenuItem _Click angezeigt.

  11. Geben Sie im Option2ToolStripMenuItem _Click-Ereignishandler folgenden Code ein.

    MsgBox("You chose Option 2")
    
  12. Drücken Sie F5, um das Programm auszuführen. Klicken Sie mit der rechten Maustaste auf das Formular, und klicken Sie auf eines der Elemente im Kontextmenü. Ein Meldungsfeld informiert Sie, welche Option Sie ausgewählt haben.

Nächste Schritte

In dieser Lektion haben Sie gelernt, wie Sie Menüs aktivieren bzw. deaktivieren und wie Sie ein Kontextmenü erstellen. In der nächsten Lektion erfahren Sie, wie Sie einen anderen Steuerelementtyp – einen Timer – zum Ausführen von Aktionen einsetzen.

Nächste Lektion: Verwenden von Zeitgebern zum Ausführen regulärer Aktionen

Siehe auch

Aufgaben

Bereitstellen von Auswahlmöglichkeiten für Benutzer: Erstellen von Menüs zur Entwurfszeit

Gewusst wie: Zuordnen eines ContextMenuStrip zu einem Steuerelement

Referenz

Übersicht über das MenuStrip-Steuerelement (Windows Forms)