ContextMenu.Popup Evento

Definición

Se produce antes de mostrarse el menú contextual.

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

Tipo de evento

Ejemplos

En el ejemplo de código siguiente se crea un controlador de eventos para el Popup evento de ContextMenu. El código del controlador de eventos determina cuál de los dos controles con nombre PictureBoxpictureBox1 y un TextBox con nombre textBox1 es el control que muestra el menú contextual. Dependiendo del control que provocó que ContextMenu mostrara su menú contextual, el control agrega los objetos adecuados MenuItem a .ContextMenu En este ejemplo se requiere que tenga una instancia de la ContextMenu clase , denominada contextMenu1, definida dentro del formulario. En este ejemplo también se requiere que tenga un TextBox y PictureBox agregado a un formulario y que la ContextMenu propiedad de estos controles se establezca en contextMenu1.

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

Comentarios

Puede usar este evento para inicializar los MenuItem objetos antes de que se muestren. Por ejemplo, si usa un ContextMenu para tres TextBox controles y desea deshabilitar determinados elementos de menú en según ContextMenu el que TextBox se muestre el menú contextual, puede crear un controlador de eventos para este evento. Puede usar la SourceControl propiedad para determinar qué TextBox es a punto de mostrar y ContextMenu deshabilitar los objetos adecuados MenuItem .

Para obtener más información sobre el manejo de eventos, consulte controlar y provocar eventos.

Se aplica a