Foros del Web » Programación para mayores de 30 ;) » .NET »

Timer en hilo

Estas en el tema de Timer en hilo en el foro de .NET en Foros del Web. Hola colegas me gustaría que me ayudaran a solucionar un problema con un hilo, les cuento un poco. Pretendo poner un label en una pantalla ...
  #1 (permalink)  
Antiguo 29/10/2008, 08:51
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Pregunta Timer en hilo

Hola colegas me gustaría que me ayudaran a solucionar un problema con un hilo, les cuento un poco.

Pretendo poner un label en una pantalla donde este transcurriendo “Tiempo” en Winform


Para medir el tiempo
Código:
private Stopwatch _Stopwatch;

Aqui creo el hilo
Código:
        private void CrearHilos_Load(object sender, EventArgs e)
        {
            CheckForIllegalCrossThreadCalls = false;

            Thread _Thread = new Thread(avance);
            _Thread.Start();
        }

Aqui inicio el timer que se llama "tTranscurrido"
Código:
        public void avance()
        {
            _Stopwatch = new Stopwatch();
            _Stopwatch.Start();
            tTranscurrido.Start();
        }

Aqui invoco al metodo que llenara el label
Código:
        private void tTranscurrido_Tick(object sender, EventArgs e)
        {
            this.lblTiempoTranscurido.Invoke(new MethodInvoker(MuestraVance));
        }


y por ultimo voy llenando el label:
Código:
        private void MuestraVance()
        {
                TimeSpan _TimeSpan = _Stopwatch.Elapsed;
                this.lblTiempoTranscurido.Text = String.Format("{0:00}:{1:00}:{2:00}.{3:000}", _TimeSpan.Hours, _TimeSpan.Minutes, _TimeSpan.Seconds, _TimeSpan.Milliseconds);

        }


Sin el hilo esto me funciona perfectamente bien pero ya con el hilo simple y sencillamente no llega ni al evento "Tick" del timer "tTranscurrido"

Ojala me den tus comentarios.

Saludos.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #2 (permalink)  
Antiguo 29/10/2008, 09:52
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Timer en hilo

Podrías poner el código de como has programado el timer tTranscurrido? Y de paso, como lo has creado, configurado, etc.
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 29/10/2008, 10:28
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Timer en hilo

lo q me intriga es porq si usas CheckForIllegalCrossThreadCalls = false; estas invocando a tu delegado??.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 29/10/2008, 11:21
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Timer en hilo

Peter:
CheckForIllegalCrossThreadCalls = false; se lo puse porque me daba un error que solucione con:

Código:
        private void tTranscurrido_Tick(object sender, EventArgs e)
        {
            this.lblTiempoTranscurido.Invoke(new MethodInvoker(MuestraVance));
        }
Y esque antes lo tenia asi:
Código:
        private void tTranscurrido_Tick(object sender, EventArgs e)
        {
            MuestraVance()
        }
Ya le quite CheckForIllegalCrossThreadCalls = false; pero ni aun asi funciona.


Malenko: No he configurado el timer "tTranscurrido" solo agregas el objeto a tu pantalla y ya trae por default el intervalo a milisegundos
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #5 (permalink)  
Antiguo 30/10/2008, 08:20
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Timer en hilo

Algun otro comentario?
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #6 (permalink)  
Antiguo 10/11/2008, 10:22
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Timer en hilo

Hola, alguien habrá hecho algo similar, poner un timer para que te de el tiempo que lleva tu proceso?

Gracias.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #7 (permalink)  
Antiguo 11/11/2008, 09:06
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Timer en hilo

Apoco nadie sabe??
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #8 (permalink)  
Antiguo 11/11/2008, 10:43
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Respuesta: Timer en hilo

Intenta probando asi:

Código:
this.lblTiempoTranscurido.Invoke( (MethodInvoker)delegate
{
                TimeSpan _TimeSpan = _Stopwatch.Elapsed;
                this.lblTiempoTranscurido.Text = String.Format("{0:00}:{1:00}:{2:00}.{3:000}", _TimeSpan.Hours, _TimeSpan.Minutes, _TimeSpan.Seconds, _TimeSpan.Milliseconds);

});
Saludos.
__________________
Charlie.
  #9 (permalink)  
Antiguo 14/11/2008, 11:16
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Timer en hilo

Hola chcma

En que parte pongo
this.lblTiempoTranscurido.Invoke( MethodInvoker)delegate

Gracias.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #10 (permalink)  
Antiguo 17/11/2008, 03:26
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 6 meses
Puntos: 66
Respuesta: Timer en hilo

Hola mvazquez,

Yo tuve un problema similar para mostrar un contador de tiempo que lanzaba desde un hilo. Mi problema era que el tiempo transcurría pero no se mostraba en pantalla. Quizá no tenga mucho que ver con tu ejemplo porque no sé si a ti el tiempo realmente te transcurre o no. Yo lo solucione con un .update

Cuando el label cambia su valor hay que poner luego lblTiempoTranscurido.Update();

Espero que t ayude esto...

salu2.
  #11 (permalink)  
Antiguo 18/11/2008, 09:21
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Timer en hilo

Hola ceSharp, si ese es mi problema, intentare con lo que me comentas y ya te contare como me fue.

Muchas gracias.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:18.