Handles

Actualización: noviembre 2007

Declara que un procedimiento controla un evento especificado.

proceduredeclaration Handles eventlist

Partes

  • proceduredeclaration
    La declaración del procedimiento Sub del procedimiento que controlará el evento.

  • eventlist
    La lista de los eventos para proceduredeclaration que se deben controlar. Los eventos los debe provocar la clase base de la clase actual o un objeto declarado mediante la palabra clave WithEvents.

Comentarios

Use la palabra clave Handles al final de una declaración de procedimiento para hacer que controle eventos provocados por una variable de objeto declarada con la palabra clave WithEvents. La palabra clave Handles también puede utilizarse en una clase derivada para controlar eventos de una clase base.

La firma del procedimiento debe coincidir con las firmas de cada evento contenido en eventlist.

Tanto la palabra clave Handles como la instrucción AddHandler permiten especificar que determinados procedimientos controlan eventos concretos, pero hay diferencias. Utilice la palabra clave Handles al definir un procedimiento para especificar que controla un determinado evento. La instrucción AddHandler conecta en tiempo de ejecución los procedimientos a los eventos. Para obtener más información, vea AddHandler (Instrucción).

Para los eventos personalizados, la aplicación invoca el descriptor de acceso AddHandler del evento cuando agrega el procedimiento como un controlador de eventos. Para obtener más información sobre eventos personalizados, vea Event (Instrucción).

Ejemplo

Public Class ContainerClass
    ' Module or class level declaration.
    WithEvents Obj As New Class1

    Public Class Class1
        ' Declare an event.
        Public Event Ev_Event()
        Sub CauseSomeEvent()
            ' Raise an event.
            RaiseEvent Ev_Event()
        End Sub
    End Class

    Sub EventHandler() Handles Obj.Ev_Event
        ' Handle the event.
        MsgBox("EventHandler caught event.")
    End Sub

    ' Call the TestEvents procedure from an instance of the ContainerClass 
    ' class to test the Ev_Event event and the event handler.
    Public Sub TestEvents()
        Obj.CauseSomeEvent()
    End Sub
End Class

En el siguiente ejemplo se muestra cómo una clase derivada puede utilizar la instrucción Handles para controlar un evento desde una clase base.

Public Class BaseClass
    ' Declare an event.
    Event Ev1()
End Class
Class DerivedClass
    Inherits BaseClass
    Sub TestEvents() Handles MyBase.Ev1
        ' Add code to handle this event.
    End Sub
End Class

Vea también

Conceptos

Eventos y controladores de eventos

Referencia

WithEvents

AddHandler (Instrucción)

RemoveHandler (Instrucción)

Event (Instrucción)

RaiseEvent (Instrucción)