en esta oportunidad quisiera mostrarles cómo crear un cronómetro en visual basic

5
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. view source print? 1.Private hora As Integer = 0 2.Private minuto As Integer = 0 3.Private segundo As Integer = 0 4.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: view source print? 1.Sub mostrarTiempo() 2. Label1.Text = hora.ToString.PadLeft(2, "0") & ":" 3. Label1.Text &= minuto.ToString.PadLeft(2, "0") & ":" 4. Label1.Text &= segundo.ToString.PadLeft(2, "0") & ":" 5. Label1.Text &= milisegundo.ToString.PadLeft(1, "0") 6. 7. Label1.Refresh() 8.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í: view source print?

Upload: jerryter28

Post on 13-Jul-2015

706 views

Category:

Internet


3 download

TRANSCRIPT

Page 1: En esta oportunidad quisiera mostrarles cómo crear un cronómetro en visual basic

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.

view source

print? 1.Private hora As Integer = 0 2.Private minuto As Integer = 0 3.Private segundo As Integer = 0 4.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:

view source

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

6. 7. Label1.Refresh() 8.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í:

view source

print?

Page 2: En esta oportunidad quisiera mostrarles cómo crear un cronómetro en visual basic

01.milisegundo += 1 02.If milisegundo = 9 Then 03. milisegundo = 0 04. segundo += 1 05. If segundo = 59 Then 06. segundo = 0 07. minuto += 1 08. If minuto = 59 Then 09. minuto = 0 10. hora += 1 11. End If 12. End If 13.End If 14.mostrarTiempo()

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

view source

print? 1.Timer1.Enabled = True

El botón Pausa detiene el timer:

view source

print? 1.Timer1.Enabled = False

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

view source

print? 1.hora = 0 2.minuto = 0 3.segundo = 0 4.milisegundo = 0

5. 6.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:

DFGHÑ{GHJKLÑ{H

Page 3: En esta oportunidad quisiera mostrarles cómo crear un cronómetro en visual basic

SD

FGH

JMK

,L

En esta oportunidad quiero mostrarles un pequeño ejemplo en visual basic .net que me

gustó mucho cuando lo hice por primera vez. No es algo que usemos todos los días pero

estoy seguro que les gustará y ya encontrarán donde hacerlo. Particularmente me gusta

usarlo cuando muestro el cuadro “Acerca de… ” en algunas de mis aplicaciones…

Se trata de la aparición gradual de un formulario, comienza transparente hasta que se ve al

100%. Para realizarlo necesitamos utilizar un control timer y la propiedad Opacity del

formulario.

En el ejemplo lo que haremos será crear dos formularios (Form1 y Form2), el Form1 con

un botón y la acción de este botón es llamar al segundo formulario. El segundo formulario

irá apareciendo gradualmente y hará lo mismo cuando lo cerremos. Debería verse como en

la imagen siguiente:

Bueno, manos a la obra, jaja.

Primero el evento click del botón para que cargué el segundo formulario:

view source

print? 1.Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 2. Dim vForm2 As New Form2 3. vForm2.ShowDialog() 4.End Sub

En el segundo formulario insertaremos dos componentes Timer’s (Timer1 y Timer2).

Luego copiamos el siguiente código:

view source

print? 01.Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 02. Me.Opacity = 0 03. Timer1.Interval = 25 04. Timer1.Enabled = True 05.End Sub

06.

Page 4: En esta oportunidad quisiera mostrarles cómo crear un cronómetro en visual basic

07.Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 08. Timer2.Interval = 25 09. Timer2.Enabled = True 10. If Me.Opacity > 0 Then 11. e.Cancel = True 12. End If 13.End Sub

14. 15.Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 16. If Me.Opacity = 1 Then 17. Timer1.Enabled = False 18. Else 19. Me.Opacity = Me.Opacity + 0.02 20. Me.Refresh() 21. End If 22.End Sub

23. 24.Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick 25. If Me.Opacity = 0 Then 26. Timer2.Enabled = False 27. Me.Close() 28. Else 29. Me.Opacity = Me.Opacity - 0.02 30. Me.Refresh() 31. End If 32.End Sub

Voy a explicar en breves palabras que es lo que hace:

Los formularios windows tienen una propiedad llamada Opacity que almacena un valor

que va de 0 hasta 1. Este valor indica el porcentaje de opacidad del formulario, siendo 1 el

100% opaco y 0 0% opaco, lo que sería lo mismo que decir 100% transparente. Por eso con

un valor 0.5 tendriamos un formulario 50% opaco o 50% Transparente (como más te

guste).

Lo que hace un control Timer es ejecutar el código del evento Tick miestras el Timer tenga

la propiedad enable en True y cada un intervalo determinado por la propiedad Interval.

Entonces tenemos el Timer1 para cuando se abre el formulario (por eso lo acrivo

“Timer1.Enable = True” en el evento Load y Timer2 para cuando se cierra (Activado en el

evento Closing del Formulario).

Bueno, no quiero abundar en explicaciones porque el código es breve y creo que no hay

mucho más que aclarar.

Page 5: En esta oportunidad quisiera mostrarles cómo crear un cronómetro en visual basic

Si te gustó este ejemplo deja un comentario. Me gustaría saber cuales son las preferencias

de mis visitantes.