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

[SOLUCIONADO] Temporizador

Estas en el tema de Temporizador en el foro de .NET en Foros del Web. Hola: En el formulario tengo un label y dos buttons. En el label muestra 00:00:00, que son horas, minutos, segundos. El primer botón empieza llamado ...
  #1 (permalink)  
Antiguo 21/12/2015, 17:57
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Temporizador

Hola:

En el formulario tengo un label y dos buttons. En el label muestra 00:00:00, que son horas, minutos, segundos.

El primer botón empieza llamado Start el contador, el otro botón llamado Stop es detener el temporizador y se pone a 00:00:00 y se queda detenido.

¿Cómo se hace en C#?

Por ahora he hecho esto.
Código:
public class form1{

   private Timer _timer = null;

   public void Form_Load(...){

        _timer= new Timer();

        _timer.Interval = 1000; // 1seg

        _timer.tick += timer_Tick;

   }

   private void btnIniciar_Click(...){

      _timer.Start();

  }

   private void btnIniciar_Click(...){

     _timer.Stop();

  }

   private void timer_Tick(...){

        label.Text = DateTime.Now.ToString("HH:mm:ss")

  }

}
La salida muestra la hora, quiero que muestre 00:00:00 cuando está en Stop, que empieze a contar el tiempo, cuando le de desconectar, se pone a 00:00:00. El problema que me muestra la hora actual, y no deseo eso.

Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #2 (permalink)  
Antiguo 29/12/2015, 01:56
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años
Puntos: 16
Respuesta: Temporizador

Buenas compañero,

Pues no lo puedo probar ahora, pero es sencillo...
Lo puedes hacer con una variable de tipo DateTime a nivel de formulario y con DateTime.Now

Ejemplo:
Código vb:
Ver original
  1. public class form1{
  2.  
  3.    private Timer _timer = null;
  4.    private DateTime _dtInicio;
  5.  
  6.  
  7.    private void btnIniciar_Click(...){
  8.       _dtInicio = DateTime.Now;
  9.       _timer.Start();
  10.  
  11.   }
  12.  
  13.    private void timer_Tick(...){
  14.        
  15.         label.Text = (DateTime.Now - _dtInicio).ToString("HH:mm:ss"); //No estoy seguro que se puedan restar así.. Pero para que te hagas una idea...
  16.  
  17.   }
  18. }

Espero que te haya servido compañero..


Un saludo!!!!!!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)

Etiquetas: temporizador
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 01:39.