Cómo: Conectar métodos controlador de eventos a eventos
Actualización: noviembre 2007
Para consumir eventos definidos en otra clase, debe definir y registrar un controlador de eventos. El controlador de eventos debe tener la misma firma de método que el delegado declarado para el evento. Puede registrar su controlador de eventos agregando el controlador al evento. Una vez agregado, se llama al método siempre que la clase provoca el evento.
Para consultar un ejemplo completo de cómo provocar y controlar eventos, vea Cómo: Provocar y consumir eventos.
Para agregar un método controlador de eventos para un evento
Defina un método controlador de eventos con la misma firma que el delegado de eventos.
public class WakeMeUp { // AlarmRang has the same signature as AlarmEventHandler. public void AlarmRang(object sender, AlarmEventArgs e) {...}; ... }
Public Class WakeMeUp ' AlarmRang has the same signature as AlarmEventHandler. Public Sub AlarmRang(sender As Object, e As AlarmEventArgs) ... End Sub ... End Class
Cree una instancia del delegado, utilizando una referencia al método controlador de eventos. Cuando se llama a la instancia de delegado, ésta, a su vez, llama al método controlador de eventos.
// Create an instance of WakeMeUp. WakeMeUp w = new WakeMeUp(); // Instantiate the event delegate. AlarmEventHandler alhandler = new AlarmEventHandler(w.AlarmRang);
' Create an instance of WakeMeUp. Dim w As New WakeMeUp() ' Instantiate the event delegate. Dim alhandler As AlarmEventHandler = AddressOf w.AlarmRang
Agregue la instancia de delegado al evento. Cuando se provoca el evento, se llama a la instancia de delegado y a su método de controlador eventos asociado.
// Instantiate the event source. AlarmClock clock = new AlarmClock(); // Add the delegate instance to the event. clock.Alarm += alhandler;
' Instantiate the event source. Dim clock As New AlarmClock() ' Add the delegate to the event. AddHandler clock.Alarm, AddressOf w.AlarmRang
Vea también
Tareas
Cómo: Provocar y utilizar eventos