Professional Documents
Culture Documents
Unidad
Eventos
1.1. Tipos de eventos 1.2. Generacin y propagacin de eventos 1.3. Mtodos de control de eventos 1.4. Creacin de eventos.
Pgina 1
Pgina 2
} }
class Ejemplo { public double multiplica(double parametro1, double parametro2) { return parametro1 * parametro2; } public double divide(double parametro1, double parametro2) { return parametro1 /parametro2; }
Pgina 3
Console.ReadKey(); } } } class DelegadoTest { public string ReemplazaEspacios(string a) { Console.WriteLine("Reemplaza espacios con guiones"); Ing. Mara Gpe. Flores Luvanos Pgina 4
Pgina 5
Un evento es, en esencia, la notificacin automtica de que una accin ha ocurrido. Los eventos son muy utilizados en el cdigo aplicable al mundo real por que se les utiliza para representar cosas como los golpes de tecla, clics del ratn, requisiciones para refrescar la pantalla y los datos de entrantes. Los eventos se construyen sobre la base de los delegados. Un evento funciona as: un objeto que tiene inters en un evento registra un controlador de controladores de eventos estn representando por delegados. El controlador de eventos responde al evento tomando las acciones apropiadas. Por ejemplo, un controlador de evento para los golpes de teclas puede responder enviando el carcter asociado con la tecla al monitor. Los eventos son miembros de una clase y se declaran utilizando la palabra clave event. Su formato general se muestra a continuacin. Event delegado-evento nombre-evento;
1.2.
Tambin llamado burbujeo de eventos, control personalizado, EventBubbler, demuestra un simple caso de propagacin de eventos. EventBubbler es un control compuesto que contiene cuadros de texto, botones y un control de etiqueta. EventBubbler burbujas de los eventos de comandos de los botones para el control de contenedor principal (s mismo) y expone como eventos de alto nivel.
1.3.
Cuando una accin sobre un componente genera un evento, se espera que suceda algo, entendiendo por evento un mensaje que un objeto enva a algn otro objeto.
Evento
Componente
Manejador de eventos
Ocurrido
Pgina 6
Pgina 7
Siempre que queramos hacer uso de los eventos y delegados en C# deberemos: 1. Declarar el delegado. Para el mejor entendimiento debemos tener en cuenta que el delegado no es otra cosa que una clase (tipo de dato) especial. 2. Declarar el evento de tipo del delegado. Si tenemos en cuenta que el delegado es una clase, pues el evento es algo como una propiedad especial del tipo delegado. 3. Implementar el mtodo X a suscribir. Este mtodo deber tener la misma firma que el delegado.
4. Por ltimo, para asociar o enlazar un mtodo X al evento, accedemos a la
propiedad del objeto y le adicionamos el mtodo. Teniendo en cuenta que el mtodo X tiene que cumplir con la firma del delegado. Ejemplo 1: class Program { static void Main(string[] args) { Salida s = new Salida("hola mundo"); s.ok += new EventHandler(Captura); s.Escribir(); Console.ReadKey(); }
Ing. Mara Gpe. Flores Luvanos Pgina 8
Pgina 9