Como: chamar um manipulador de eventos em Visual Basic

Um evento é uma ação ou ocorrência — como um mouse clique ou um limite de crédito excedido — que é reconhecida pelo componente algum de programa, e para o qual você pode escrever código para responder.Um manipulador de eventos é o código que você escreve para responder a um evento.

Um manipulador de eventos em Visual Basic é um procedimento Sub.No entanto, você não pode chamá-lo normalmente da mesma maneira que outros procedimentos Sub.Em vez disso, você identificar o procedimento como um manipulador para o evento.Você pode fazer isso com uma cláusula Cláusula Handles (Visual Basic) e uma variável WithEvents (Visual Basic), ou com um Instrução AddHandler.Usando uma cláusula Handles é a maneira padrão para declarar um manipulador de eventos no Visual Basic.Essa é a maneira que os manipuladores de eventos são gravados pelos designers quando você programa in a ambiente de desenvolvimento integrado (IDE).A instrução AddHandler é adequada para elevar eventos dinamicamente em tempo de execução.

Quando o evento ocorrer, Visual Basic automaticamente chama o procedimento manipulador de eventos.Qualquer código que tenha acesso ao evento pode fazer com que ele ocorrer ao executar uma Instrução RaiseEvent.

Você pode associar mais de um manipulador de eventos com o mesmo evento.Em alguns casos, você pode dissociar um manipulador de um evento.Para obter mais informações, consulte Eventos (Visual Basic).

Para chamar um manipulador de eventos Usando identificadores e WithEvents

  1. Certifique-se de que o evento é declarado com um Declaração de evento.

  2. Declare um variável de objeto no nível de classe ou Módulo, usando a palavra-chave WithEvents (Visual Basic).A cláusula As para esta variável deve especificar a classe que gera o evento.

  3. Na declaração do procedimento Sub de manipulação de eventos, adicione uma cláusula Cláusula Handles (Visual Basic) que especifica a variável WithEvents e o nome do evento.

  4. Quando o evento ocorrer, Visual Basic automaticamente chama o procedimento Sub.Seu código pode usar uma declaração RaiseEvent para fazer o evento ocorrer.

    O exemplo a seguir define um evento e uma variável WithEventsque faz referência à classe que gera o evento.O procedimento de tratamento de eventos Sub usa uma cláusula Handles para especificar a classe e o evento que a cláusula manipula.

    Public Class raisesEvent
        Public Event somethingHappened()
        Dim WithEvents happenObj As New raisesEvent
        Public Sub processHappen() Handles happenObj.somethingHappened
            ' Insert code to handle somethingHappened event.
        End Sub
    End Class
    

Para chamar um manipulador de eventos usando AddHandler

  1. Certifique-se de que o evento é declarado com uma declaração Event.

  2. Execute uma Instrução AddHandler para conectar dinamicamente o procedimento de tratamento de eventos Sub com o evento.

  3. Quando o evento ocorrer, Visual Basic automaticamente chama o procedimento Sub.Seu código pode usar uma declaração RaiseEvent para fazer o evento ocorrer.

    O exemplo a seguir define um procedimento Sub para manipular o evento Closing de um formulário.Ele usa, então, o Instrução AddHandler para associar o procedimento catchClose como um manipulador de eventos de Closing.

    ' Place these procedures inside a Form class definition.
    Private Sub catchClose(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
        ' Insert code to deal with impending closure of this form.
    End Sub
    Public Sub formOpened()
        AddHandler Me.Closing, AddressOf catchClose
    End Sub
    

    Você pode dissociar um manipulador de eventos de um evento executando o Instrução RemoveHandler.

Consulte também

Tarefas

Como: criar um procedimento (Visual Basic)

Como: chamar um procedimento que não retorna um valor (Visual Basic)

Referência

Instrução Sub (Visual Basic)

Operador AddressOf (Visual Basic)

Conceitos

Procedimentos no Visual Basic

Procedimentos Sub (Visual Basic)