• Lunes 18 de Noviembre de 2024, 05:30

Autor Tema:  Problema con funcionamiento de eventos  (Leído 1916 veces)

xuturk

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Problema con funcionamiento de eventos
« en: Martes 21 de Diciembre de 2010, 11:34 »
0
Hola a todos, tengo un problema con un ejemplo que he visto de lo que imagino que es la declaracion de un timer, y de un capturador de eventos ,la cosa es que se lo que son ambos y como funcionan por que yo vengo de java y demas, el problema es el siguiente:

en

Events.Tick += new TickEventHandler(Events_Tick);

Events.KeyboardDown +=new KeyboardEventHandler(this.Keyboard);

Imagino que events. tiene guardados los diferentes eventos que pueden suceder, y estos son al realizarse cada vez el timer, y el otro al presionar una tecla, mi duda viene en el += por que ha de sumarse lo que guarde cada evento? no tnego mucha idea de C# pero si mucha de java asi que si me pudierais explicar esto aunque fuera con todo un capitulo de leccion no me vendria mal jejej pero almenos me gustaria saber como van los evnetos en este lenguaje, ya que viendolo asi no acabo de comprender nada, y de paso si me pueden explicar tambien lo que es el tick ese que he puesto de ejemplo lo agradeceria.

Muchas gracias y un saludo!

Carlos Torrecillas

  • Visitante
Re: Problema con funcionamiento de eventos
« Respuesta #1 en: Miércoles 22 de Diciembre de 2010, 23:05 »
0
Hola,

si lo que quieres es ejecutar un método cada vez que haya pasado el tiempo especificado en el Timer tienes que usar el evento Elapsed y añadirle un manejador.

EL ejemplo lo tienes aquí:

msdn.microsoft.com/en-gb/library/system.timers.timer%28v=vs.80%29.aspx

// Hook up the Elapsed event for the timer.
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

// Specify what you want to happen when the Elapsed event is
// raised.
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
    Console.WriteLine("Hello World!");
}

xuturk

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Re: Problema con funcionamiento de eventos
« Respuesta #2 en: Jueves 23 de Diciembre de 2010, 00:44 »
0
Hola. Muchas gracias por la respuesta, ayer estuve mirando y mas o menos logre entender los eventos de C# lo que sigo sin entender es el += que tu tambien me pones y que viene en el msdn, osea se le suma un evento cada vez que sucede? no seria este evento le maneja este event handler mediante = si no es igual a este eventhandler+ evento? es lo que no logro digerir jejej te agradeceria que si pudieras me explicaras unicamente ese operador en cuanto al evento puesto que mas o menos consegui enterarme de lo otro.
Muchas gracias un saludo!

Carlos Torrecillas

  • Visitante
Re: Problema con funcionamiento de eventos
« Respuesta #3 en: Jueves 23 de Diciembre de 2010, 00:52 »
0
Hola,

lo que sucede al hacer += es que tu te suscribes a ese evento con el método que le indicas. Entonces cada vez que ese evento se dispare, se ejecutará el método asociado. Si no me equivoco lo que tiene eso es que tu puedes suscribir varios métodos a un mismo evento, por eso se hace += y -= para dejar de estar suscrito.

Puedes hacer la prueba a ver que pasa. Añade un método que te imprima "Hola" y el otro que te imprima "mundo" a ver que pasa :)

xuturk

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Re: Problema con funcionamiento de eventos
« Respuesta #4 en: Jueves 23 de Diciembre de 2010, 10:24 »
0
Muchas gracias, pues entonces ahora probare lo que me dices ya que tengo tiempo hoy a ver que saco en claro jejej creo que ya lo consegui entender medianamente ahora a practicar ^__^ esque estoy muy cerrado a java jajaj y por eso pensaba que unicamente se podian asociar los eventos con = xD eso de suscribirse es nuevo para mi jejej
Muchas gracias de nuevo un saludo! :)