public void ATrabajar() // Metodo que se va a ejecutar { int i; TareasEventArgs e = new TareasEventArgs(); for (i = 0; i < 500; i++) { System.Threading.Thread.Sleep(1); //Hacemos el trabajo switch (i) { case 125: e.x = 25; onTareaEnProceso(e); break; case 250: e.x = 50; onTareaEnProceso(e); break; case 375: e.x = 75; onTareaEnProceso(e); break; } } }
// Siempre se pone para disparar el evento on{NOMBRE DEL EVENTO} void onTareaEnProceso(TareasEventArgs e) { if (tareaEnProceso != null) // <------------------------ IMPORTANTE para ejecutar un delegado siempre hay que comprobar que no sea NULL { tareaEnProceso(this, e); } }
public void InformeAvance2(Object sender, TareasEventArgs e) { string str = String.Format("*****"); Console.WriteLine(str); }
public void InformeAvance(Object sender, TareasEventArgs e) { string str = String.Format("Ya llevamos el {0}", e.x); // indice de los elementos {0},{1}...", x, y el 0 sustituira el x y 1 el y Console.WriteLine(str); }