elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  EventHandler y multimedia.timer en c#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: EventHandler y multimedia.timer en c#  (Leído 5,000 veces)
javierchu_cai

Desconectado Desconectado

Mensajes: 4


Ver Perfil
EventHandler y multimedia.timer en c#
« en: 12 Agosto 2009, 13:04 pm »

Buenas!!

Suelo leer mucho en vuestro foro, pero hasta ahora no me había decidido a registrarme. Aprovecho que lo he hecho para ver si me podéis dar una ayuda con este tema.

Estoy trabajando con un programilla que se comunica en tiempo real (o se supone que debe hacerlo  :rolleyes:) con un robot kuka, envíando y recibiendo sockets. Tengo dos programas, el servidor y el cliente. En el cliente hay una parte del código que no termino de entender del todo:

Código:
if (checkBoxMultimediaTimer.Checked)
            {
                timerClient.Enabled = false;
                timerMultimedia = new Multimedia.Timer();
                timerMultimedia.Mode = Multimedia.TimerMode.Periodic;
                timerMultimedia.Period = Convert.ToInt32(textBoxTimerInterval.Text); // 20 ms period
                timerMultimedia.Resolution = 1; // 1 ms resolution
                timerMultimedia.SynchronizingObject = this;
                timerMultimedia.Tick += new System.EventHandler(timerMultimedia_Tick);
                timerMultimedia.Start();
            }
            else
                timerClient.Enabled = true;

Sé que la clase multimedia.timer es para programar eventos que suceden cada cieto tiempo, y más o menos entiendo los distintos atributos y métodos que usa.

Pero mi duda viene con la siguiente expresión:

timerMultimedia.Tick += new System.EventHandler(timerMultimedia_Tick). En conjunto me imagino que lo que se le está diciendo al programa es que cada cierto tiempo ejecute el evento timermultimedia_tick, pero me gustaría saber como funciona exactamente esta expresión por que también he visto que por ahí se usa -= en vez de += para eliminar eventos. ¿Debo agregar el evento cada vez que se ejecuta por que este se elimina? ¿ o se mantiene el evento? ¿por que += en vez de -=?

He estado buscando en msdn y en google pero no he encontrado mucho...

Un slaudo y muchas gracias por vuestro tiempo!!


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: EventHandler y multimedia.timer en c#
« Respuesta #1 en: 12 Agosto 2009, 23:41 pm »

Busca "usar delegados en C#" para mas info  :P

Se usa los delegados como si fuesen variables de eventos(no como en VB.NET, que se usa el modificador Event)

¿Debo agregar el evento cada vez que se ejecuta por que este se elimina?
No, para agregar se uitliza el operador += y se llamara al metodo o manejador tantas veces sea llamado hasta utilizar -= con el mismo manejador.

Puede ser complicado de entender, pero es un mini-super-resumen xD....busca delegados y encontraras muchisima mas informacion ;)


En línea

javierchu_cai

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: EventHandler y multimedia.timer en c#
« Respuesta #2 en: 13 Agosto 2009, 10:27 am »

Ok, he buscado lo de los delegados y con eso y lo que me has dicho ya lo he entendido todo.

Muchísimas gracias por tu ayuda!!   :D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines