Freigeben über


MenuItem.Popup-Ereignis

Tritt ein, bevor die Liste der Menüelemente eines Menüelements angezeigt wird.

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

Syntax

'Declaration
Public Event Popup As EventHandler
'Usage
Dim instance As MenuItem
Dim handler As EventHandler

AddHandler instance.Popup, handler
public event EventHandler Popup
public:
event EventHandler^ Popup {
    void add (EventHandler^ value);
    void remove (EventHandler^ value);
}
/** @event */
public void add_Popup (EventHandler value)

/** @event */
public void remove_Popup (EventHandler value)
JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.

Hinweise

Dieses Ereignis tritt nur ein, wenn ein Menüelement über Untermenüelemente verfügt, die angezeigt werden können. Mit diesem Ereignishandler können Sie Menüelemente je nach Zustand der Anwendung hinzufügen, entfernen, aktivieren oder deaktivieren, bevor sie angezeigt werden. Weitere Informationen zur Behandlung von Ereignissen finden Sie unter Behandeln von Ereignissen.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie mit dem Popup-Ereignis bestimmt wird, ob MenuItem-Objekte, die Unterstützung für Ausschneide-, Kopier- und Löschvorgänge bereitstellen, vor dem Anzeigen des Menüs aktiviert sind, in dem sie angezeigt werden. Im Beispiel wird bestimmt, ob textBox1, ein TextBox-Steuerelement im Formular, aktiviert ist, den Eingabefokus besitzt und ob darin Text ausgewählt ist, bevor die MenuItem-Objekte aktiviert werden. Bei diesem Beispiel ist es erforderlich, dass drei MenuItem-Objekte mit den Namen menuCut, menuCopy und menuDelete erstellt werden.

Private Sub PopupMyMenu(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuEdit.Popup
   If textBox1.Enabled = False OrElse textBox1.Focused = False OrElse textBox1.SelectedText.Length = 0 Then
      menuCut.Enabled = False
      menuCopy.Enabled = False
      menuDelete.Enabled = False
   Else
      menuCut.Enabled = True
      menuCopy.Enabled = True
      menuDelete.Enabled = True
   End If
End Sub
private void PopupMyMenu(object sender, System.EventArgs e)
{
   if (textBox1.Enabled == false || textBox1.Focused == false ||
      textBox1.SelectedText.Length == 0)
   {
      menuCut.Enabled = false;
      menuCopy.Enabled = false;
      menuDelete.Enabled = false;
   }
   else
   {
      menuCut.Enabled = true;
      menuCopy.Enabled = true;
      menuDelete.Enabled = true;
   }
}
private:
   void PopupMyMenu( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      if ( textBox1->Enabled == false || textBox1->Focused == false || textBox1->SelectedText->Length == 0 )
      {
         menuCut->Enabled = false;
         menuCopy->Enabled = false;
         menuDelete->Enabled = false;
      }
      else
      {
         menuCut->Enabled = true;
         menuCopy->Enabled = true;
         menuDelete->Enabled = true;
      }
   }
private void PopupMyMenu(Object sender, System.EventArgs e)
{
    if (textBox1.get_Enabled() == false || textBox1.get_Focused() == false 
        || textBox1.get_SelectedText().get_Length() == 0) {
        menuCut.set_Enabled(false);
        menuCopy.set_Enabled(false);
        menuDelete.set_Enabled(false);
    }
    else {
        menuCut.set_Enabled(true);
        menuCopy.set_Enabled(true);
        menuDelete.set_Enabled(true);
    }
} //PopupMyMenu

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

MenuItem-Klasse
MenuItem-Member
System.Windows.Forms-Namespace