Freigeben über


ContextMenu.Popup Ereignis

Definition

Tritt ein, bevor das Kontextmenü angezeigt wird.

public:
 event EventHandler ^ Popup;
public event EventHandler Popup;
member this.Popup : EventHandler 
Public Custom Event Popup As EventHandler 

Ereignistyp

Beispiele

Im folgenden Codebeispiel wird ein Ereignishandler für das Popup -Ereignis von ContextMenuerstellt. Der Code im Ereignishandler bestimmt, welches von zwei Steuerelementen ein PictureBox benanntes pictureBox1 und ein benanntes TextBoxtextBox1 das Steuerelement ist, das das Kontextmenü anzeigt. Je nachdem, durch welches Steuerelement das ContextMenu Kontextmenü angezeigt wurde, fügt das -Steuerelement die entsprechenden MenuItem -Objekte zu hinzu ContextMenu. In diesem Beispiel muss eine instance der -Klasse mit dem ContextMenu Namen contextMenu1innerhalb des Formulars definiert sein. Dieses Beispiel erfordert auch, dass Sie ein TextBox - und PictureBox 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

Sie können dieses Ereignis verwenden, um die MenuItem Objekte zu initialisieren, bevor sie angezeigt werden. Wenn Sie z. B. ein ContextMenu für drei TextBox Steuerelemente verwenden und bestimmte Menüelemente in der ContextMenu deaktivieren möchten, je nachdem, welches TextBox Kontextmenü angezeigt wird, können Sie einen Ereignishandler für dieses Ereignis erstellen. Sie können die SourceControl -Eigenschaft verwenden, um zu bestimmen, welche TextBox angezeigt ContextMenu wird, und die entsprechenden MenuItem Objekte zu deaktivieren.

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Gilt für: