ContextMenu.Popup Evento
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Ocorre antes de o menu de atalho ser exibido.
public:
event EventHandler ^ Popup;
public event EventHandler Popup;
member this.Popup : EventHandler
Public Custom Event Popup As EventHandler
Tipo de Evento
Exemplos
O exemplo de código seguinte cria um gestor de eventos para o Popup evento do ContextMenu. O código no gestor de eventos determina qual dos dois controlos, um PictureBox nomeado pictureBox1 e um TextBox nomeado textBox1 , é o controlo que exibe o menu de atalho. Dependendo de qual controlo fez com que o ContextMenu apresente o menu de atalhos, o controlo adiciona os objetos apropriados MenuItem ao ContextMenu. Este exemplo exige que tenha uma instância da ContextMenu classe, chamada contextMenu1, definida dentro do formulário. Este exemplo também exige que tenha um TextBox e adicionado a uma forma e que a PictureBox propriedade destes controlos seja definida para ContextMenucontextMenu1 .
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
Observações
Pode usar este evento para inicializar os MenuItem objetos antes de serem exibidos. Por exemplo, se usares um ContextMenu para três TextBox controlos e quiseres desativar certos itens ContextMenu do menu dependendo de qual TextBox está a mostrar o menu de atalho, podes criar um gestor de eventos para este evento. Podes usar a SourceControl propriedade para determinar qual TextBox dos objetos está prestes a ser exibido ContextMenu e desativar os objetos apropriados MenuItem .
Para obter mais informações sobre como manipular eventos, consulte Manipulando e gerando eventos.