Cómo Crear un Cronómetro

En esta oportunidad quisiera mostrarles cómo crear un cronómetro en visual basic .net utilizando el componente timer.

Bueno, no pretendo que este sea un ejemplo paso a paso mostrando cada una de las propiedades modificadas de cada control, muy por el contrario, me quiero concentrar en la funcionalidad del cronómetro y les dejaré el diseño a ustedes. Simplemente les mostraré el que hice yo.

Los controles a utilizar son: un formulario, tres botones y dos etiquetas. Tambien necesitaremos agregar al formulario un componente Timer. Se vería mas o mes así:

bien, lo primero que haremos será definir cuatro variables privadas a nivel del formulario.

Private hora As Integer = 0
Private minuto As Integer = 0
Private segundo As Integer = 0
Private milisegundo As Integer = 0

El componente Timer debe tener su propiedad interval en 100.

Crearemos una función para mostrar en el label1 el paso del tiempo:

    Sub mostrarTiempo()
        Label1.Text = hora.ToString.PadLeft(2, "0") & ":"
        Label1.Text &= minuto.ToString.PadLeft(2, "0") & ":"
        Label1.Text &= segundo.ToString.PadLeft(2, "0") & ":"
        Label1.Text &= milisegundo.ToString.PadLeft(1, "0")

        Label1.Refresh()
    End Sub

En el evento tick del componente Timer es donde se desarrolla toda la lógica del cronómetro. Copia el siguiente código allí:

milisegundo += 1
If milisegundo = 9 Then
    milisegundo = 0
    segundo += 1
    If segundo = 59 Then
        segundo = 0
        minuto += 1
        If minuto = 59 Then
            minuto = 0
            hora += 1
        End If
    End If
End If
mostrarTiempo()

Bueno, solo resta el código de los tres botones. El botón iniciar activa el timer:

Timer1.Enabled = True

El botón Pausa detiene el timer:

Timer1.Enabled = False

Y el botón volver a cero resetea los valores de las variables:

hora = 0
minuto = 0
segundo = 0
milisegundo = 0

mostrarTiempo()

Espero que este ejemplo no les resulte complicado y por sobre todo que les sea util. Por último les dejo una captura del cronómetro en funcionamiento:



15 Responses to “Cómo Crear un Cronómetro”

  1. Información Bitacoras.com…

    Valora en Bitacoras.com: En esta oportunidad quisiera mostrarles cómo crear un cronómetro en visual basic .net utilizando el componente timer. Bueno, no pretendo que este sea un ejemplo paso a paso mostrando cada una de las propiedades modificadas de…

  2. Muchas gracias me fue muy util apenas comienzo con .net y muy bien descrito .

    Adios.

  3. junior mezaq dice:

    estan muy buenos los ejemplos…y gracias por aportar los conocimientos qya tiens para los q recien empezamos…

  4. Ene dice:

    Hola!!!
    px muchas gracias fue de muchisima ayuda tu codigo me sirvio es mas me salvo la vida jajaja…
    no muy trabajo gracias…
    chao bye kuidate…

  5. Adyir dice:

    Muchas gracias man… sin complicaciones este ejemplos, muy muy bueno, que dios te ayude a ti igual…

  6. bacotich dice:

    Muy buen Aporte te felicito sigue asi !!!

  7. galvis dice:

    muchas gracias me ha servido mucho

  8. Fernando dice:

    El cronometro esta bien solo que no cuenta el tiempo 00:01:59:0 el segundo 59 no lo cuenta del 58 salta a 00 y el 59 que no existe, checa tu codigo por favor

  9. Fernando dice:

    La solucion seria asi
    Milisegundo += 1
    If Milisegundo = 10 Then
    Milisegundo = 0
    Segundo += 1
    If Segundo = 60 Then
    Segundo = 0
    Minuto += 1
    If Minuto = 60 Then
    Minuto = 0
    Hora += 1
    End If
    End If
    End If
    MostrarTiempo()
    De esta manera el segundo o minuto 59 existiria pero se agradece el aporte.

  10. elflaco dice:

    Muy bueno, muchas gracias!!!! me salió a mi que soy duranga

  11. Darwin dice:

    GRACIAS!!! por el ejemplo me desperto la logica xq realice un mega proyecto evaluando este ejemplo espero sigan suviendo ejemplo de esta magnitud Dios los bendiga

  12. Darwin dice:

    Soy nuevo programando haci realice mi proyecto.

    Public Class Form1
    Private hora As Integer = 0
    Private minuto As Integer = 0
    Private segundo As Integer = 0
    Private milisegundo As Integer = 0
    Sub mostrarTiempo()

    Label1.Text = hora.ToString.PadLeft(2, “0″) & “:”

    Label1.Text &= minuto.ToString.PadLeft(2, “0″) & “:”

    Label1.Text &= segundo.ToString.PadLeft(2, “0″) & “:”

    Label1.Text &= milisegundo.ToString.PadLeft(1, “0″)

    Label1.Refresh()
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    milisegundo += 1
    If milisegundo = 9 Then

    milisegundo = 0
    segundo += 1

    If segundo = 59 Then

    segundo = 0

    minuto += 1

    If minuto = 59 Then

    minuto = 0

    hora += 1

    End If

    End If
    End If
    mostrarTiempo()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Timer1.Enabled = True
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Timer1.Enabled = False
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    End
    End Sub

  13. Jaime dice:

    Muchas Gracias por el aporte

  14. JonPrince dice:

    Buen codigo….me sirvio a la perfeccion corregido el error ya mencionado….gracias

Comentar