Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Declara que un procedimiento controla un evento especificado.
Sintaxis
proceduredeclaration Handles eventlist
Partes
proceduredeclaration Declaración Sub de procedimiento para el procedimiento que controlará el evento.
eventlist Lista de los eventos para proceduredeclaration controlar, separados por comas. Los eventos deben generarse mediante la clase base para la clase actual o mediante un objeto declarado mediante la WithEvents palabra clave .
Observaciones
Use la Handles palabra clave al final de una declaración de procedimiento para que controle los eventos generados por una variable de objeto declarada mediante la WithEvents palabra clave . La Handles palabra clave también se puede usar en una clase derivada para controlar eventos de una clase base.
La Handles palabra clave y la AddHandler instrucción permiten especificar que determinados procedimientos controlan eventos concretos, pero existen diferencias. Use la Handles palabra clave al definir un procedimiento para especificar que controla un evento determinado. La AddHandler instrucción conecta procedimientos a eventos en tiempo de ejecución. Para obtener más información, vea AddHandler Statement.
Para eventos personalizados, la aplicación invoca el descriptor de acceso del AddHandler evento cuando agrega el procedimiento como controlador de eventos. Para obtener más información sobre los eventos personalizados, vea Event Statement.
Ejemplo 1
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 ejemplo siguiente se muestra cómo una clase derivada puede usar la Handles instrucción para controlar un evento de 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
Ejemplo 2
En el ejemplo siguiente se incluyen dos controladores de eventos de botón para un proyecto de aplicación de WPF .
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
MessageBox.Show(sender.Name & " clicked")
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button2.Click
MessageBox.Show(sender.Name & " clicked")
End Sub
Ejemplo 3
El ejemplo siguiente es equivalente al ejemplo anterior. En eventlist la Handles cláusula contiene los eventos de ambos botones.
Private Sub Button_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click, Button2.Click
MessageBox.Show(sender.Name & " clicked")
End Sub