Como: conectar vários eventos a um único manipulador de eventos no Windows FormsHow to: Connect Multiple Events to a Single Event Handler in Windows Forms

No projeto do seu aplicativo, talvez seja necessário usar um único manipulador de eventos para vários eventos ou fazer com que vários eventos executem o mesmo procedimento.In your application design, you may find it necessary to use a single event handler for multiple events or have multiple events perform the same procedure. Por exemplo, fazer um comando de menu gerar o mesmo evento que um botão no seu formulário geralmente representará uma grande economia de tempo se eles expuserem a mesma funcionalidade.For example, it is often a powerful time-saver to have a menu command raise the same event as a button on your form does if they expose the same functionality. Você pode fazer isso usando a exibição Eventos da janela Propriedades em C# ou usando a palavra-chave Handles e as caixas suspensas Nome de Classe e Nome do Método no Editor de Código do Visual Basic.You can do this by using the Events view of the Properties window in C# or using the Handles keyword and the Class Name and Method Name drop-down boxes in the Visual Basic Code Editor.

Conectar vários eventos a um único manipulador de eventos no Visual BasicTo connect multiple events to a single event handler in Visual Basic

  1. Clique com o botão direito do mouse no formulário e escolha Exibir Código.Right-click the form and choose View Code.

  2. Na caixa suspensa Nome de Classe, selecione um dos controles que você deseja que o manipulador de eventos trate.From the Class Name drop-down box, select one of the controls that you want to have the event handler handle.

  3. Na caixa suspensa Nome de Método, selecione um dos eventos que você deseja que o manipulador de eventos trate.From the Method Name drop-down box, select one of the events that you want the event handler to handle.

  4. O Editor de Código insere o manipulador de eventos apropriado e posiciona o ponto de inserção dentro do método.The Code Editor inserts the appropriate event handler and positions the insertion point within the method. No exemplo a seguir, é o Click evento para o Button controle.In the example below, it is the Click event for the Button control.

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click  
    ' Add event-handler code here.  
    End Sub  
    
  5. Acrescente os outros eventos que você deseja que sejam tratados à cláusula Handles.Append the other events you would like handled to the Handles clause.

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click  
    ' Add event-handler code here.  
    End Sub  
    
  6. Adicione o código apropriado ao manipulador de eventos.Add the appropriate code to the event handler.

Para conectar vários eventos a um único manipulador de eventos em C#To connect multiple events to a single event handler in C#

  1. Selecione o controle ao qual você deseja conectar um manipulador de eventos.Select the control to which you want to connect an event handler.

  2. Na janela Propriedades, clique no botão Eventos (Botão Eventos).In the Properties window, click the Events button (Events Button).

  3. Clique no nome do evento que você deseja tratar.Click the name of the event that you want to handle.

  4. Na seção de valor ao lado do nome do evento, clique no botão da lista suspensa para exibir uma lista de manipuladores de eventos existentes que correspondem à assinatura do método do evento que você deseja tratar.In the value section next to the event name, click the drop-down button to display a list of existing event handlers that match the method signature of the event you want to handle.

  5. Selecione o manipulador de eventos apropriado na lista.Select the appropriate event handler from the list.

    O código será adicionado ao formulário para associar o evento ao manipulador de eventos existente.Code will be added to the form to bind the event to the existing event handler.

Consulte tambémSee also