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:



Comentar