Eventos en C#

22/11/2003 - 19:51 por Eventos | Informe spam
Que tal amigos

Estoy investigando algo sober eventos, he apendido algunos
conceptos básicos con toda la documentación en inglés y
quisiera entrar más a fondo en el tema, lo único que he
encontrado (y tal vez buscado) es lo que viene en la ayuda
del .Net, así es que si alguien conoce algún link en
español me sería de gran ayuda para una mejor compresión,
ya que ese es mi lenguaje natal.

De antemano, muchas gracias.
 

Leer las respuestas

#1 MikePard
22/11/2003 - 22:28 | Informe spam
Con la ayuda de este NewsGroup llegué a comprender un
poquito más lo que es el manejo de eventos, ya que por
medio de la ayuda del framework se me habia complicado el
tema, de esta manera realicé un programa basado en un
ejemplo que expuso un miembro de este NesGroup, espero que
les sirva de ejemplo para aquellos que estan pasando más o
menos por la misma situación que yo. Helo aqui.

Creo que esto les puede servir de ayuda para que despues
estudien un poquito más a fondo el manejo de eventos
en .Net, o pueden ir directamente a la ayuda del framework
con los temas Raising an Event y/o Events and Delegates

Saludos

using System;
using System.Threading;

public delegate void Delegado(string mensaje);

public class ClaseConEvento
{
public event Delegado Evento;

//Este método le dice al programa que
cuando acabe de ejecutarse
//instrucción Thread.Sleep(5000), entonces
dispate el evento Evento
public void disparaEvento()
{
Console.WriteLine("Aqui este
método realiza un proceso de 5 segundos");
Thread.Sleep(5000);
//<--Esta instrucción detiene el proceso durante 5
segundos
Evento("Hola, se ha disparado el
evento");
}
}


public class EventoTest
{
static public void Main(string[] args)
{
Console.WriteLine("*** MANEJO DE
EVENTOS***");
Console.WriteLine("Presione la
letra S y Enter si desea disparar el evento.");
Console.WriteLine("Cualquier otra
tecla para Salir del programa.");
String input = Console.ReadLine();

if (input.Equals("S") ||
input.Equals("s"))
{
ClaseConEvento o = new
ClaseConEvento(); //Se instancia la clase que
contiene el método que dispara el evento
o.Evento += new Delegado
(procesarEvento); //Se asocia método procesarEvento
con el evento Evento
o.disparaEvento();
//Se manda
a llamar el proceso que dispara el evento.
}
else
{
return;
}
}

//Método que contiene las instrucciones
que debe realizar el programa
//cuando se dispara el evento.
static private void procesarEvento(string
mensaje)
{
Console.WriteLine(mensaje);
}
}

Preguntas similares