Como chamar um manipulador de eventos no Visual Basic
Um evento é uma ação ou ocorrência — como um clique do mouse ou um limite de crédito excedido — que é reconhecida por algum componente do programa e para a 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 no Visual Basic é um Sub
procedimento. No entanto, normalmente não o chama da mesma forma que outros Sub
procedimentos. Em vez disso, você identifica o procedimento como um manipulador para o evento. Você pode fazer isso com uma Handles
cláusula e uma WithEvents
variável ou com uma instrução AddHandler. Usar uma Handles
cláusula é a maneira padrão de declarar um manipulador de eventos no Visual Basic. Esta é a maneira como os manipuladores de eventos são escritos pelos designers quando você programa no ambiente de desenvolvimento integrado (IDE). A AddHandler
instrução é adequada para gerar eventos dinamicamente em tempo de execução.
Quando o evento ocorre, o Visual Basic chama automaticamente o procedimento do manipulador de eventos. Qualquer código que tenha acesso ao evento pode fazer com que ele ocorra executando uma instrução RaiseEvent.
Você pode associar mais de um manipulador de eventos ao mesmo evento. Em alguns casos, você pode dissociar um manipulador de um evento. Para obter mais informações, consulte Eventos.
Chame um manipulador de eventos usando Handles e WithEvents
Certifique-se de que o evento é declarado com uma declaração de evento.
Declare uma variável de objeto no nível do módulo ou da classe, usando a
WithEvents
palavra-chave. AAs
cláusula para essa variável deve especificar a classe que gera o evento.Na declaração do procedimento de manipulação
Sub
de eventos, adicione umaHandles
cláusula que especifique aWithEvents
variável e o nome do evento.Quando o evento ocorre, o Visual Basic chama automaticamente o
Sub
procedimento. Seu código pode usar umaRaiseEvent
instrução para fazer o evento ocorrer.O exemplo a seguir define um evento e uma
WithEvents
variável que se refere à classe que gera o evento. O procedimento de manipulação deSub
eventos usa umaHandles
cláusula para especificar a classe e o evento que ele 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
Chamar um manipulador de eventos usando AddHandler
Certifique-se de que o evento é declarado com uma
Event
instrução.Execute uma instrução AddHandler para conectar dinamicamente o procedimento de manipulação de
Sub
eventos com o evento.Quando o evento ocorre, o Visual Basic chama automaticamente o
Sub
procedimento. Seu código pode usar umaRaiseEvent
instrução para fazer o evento ocorrer.O exemplo a seguir usa a instrução AddHandler no construtor para associar o
OnFormClosing
procedimento como um manipulador de eventos para FormClosing.Sub New() InitializeComponent() AddHandler Me.FormClosing, AddressOf OnFormClosing End Sub Private Sub OnFormClosing(sender As Object, e As FormClosingEventArgs) ' Insert code to deal with impending closure of this form. End Sub
Você pode dissociar um manipulador de eventos de um evento executando a instrução RemoveHandler.