Quiero mostrarles hoy una forma simple y sencilla de crear en visual basic .net un reloj digital. Lo haremos utilizando un label y un componente Timer.
El formulario debería tener una apariencia similar a la de la siguiente imagen>

Para este ejemplo donde solo mostraremos la hora, cambiaremos la fuente del control label para darle más importancia. Yo estoy usando fuente Tahoma tamaño 28.
Ahora veamos las propiedades del componente timer. Para que se ejecute el codigo del evento Tick del componente timer, este tiene que tener la propiedad enable en True. Y el codigo que ingresemos se va a ejecutar cada n ticks. La cantidad de ticks de n se las indicamos con la propiedad interval en milisegundo. Por lo tanto si colocamos dicha propiedad en 1000 ticks, el código se ejecutará cada 1 segundo.
Ahora veamos el código, es muy sencillo:
Private Sub Timer1_Tick(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Timer1.Tick Label1.Text = Date.Now.ToLongTimeString End Sub
Solo resta ejecutar (F5) la aplicación y tendremos nuestro reloj digital como se muestra en la siguiente imagen>

Si eres asiduo lector de este blog, sabrás que todo el código de los ejemplos siempre pretende ser muy sencillo y que tu tienes a partir de estos ejemplos la posibilidad de mejorarlo, complementarlos y adaptarlos para usarlos en tus aplicaciones.
Como siempre, espero que te sea útil.
Información Bitacoras.com…
Valora en Bitacoras.com: Quiero mostrarles hoy una forma simple y sencilla de crear en visual basic .net un reloj digital. Lo haremos utilizando un label y un componente Timer. El formulario debería tener una apariencia similar a la de la siguiente i….
el timer no es necesario, una forma mas sencilla:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Label1.Text = Format(Now, “hh:mm:ss tt”)
End Sub
fastmonro:
gracias por el aporte, pero lo único que haces con eso es “mostrar” en una etiqueta la hora en que se cargó el formulario (ya que lo llamas desde el evento Load). Permiteme decirte que para lograr la funcionalidad de un reloj, o sea, que muestre la hora actual “todo el tiempo” es necesario el componente Timer, sino no sería un reloj… solo mostrarías la hora de un momento determinado.
Muy bueno su aporte!!! Felicidades!!
excelente aporte hermano pero el unico problema que le encuentro es que no carga al mismo tiempo que lo ejecuta uno hay que esperar cierto tiempo para que muestre el reloj solo hay que poner lo mismo en el evento load del form yo lo hice en C# por que es el que mas puedo utilizar
private void timer1_Tick(object sender, EventArgs e)
{
label.Text = DateTime.Now.ToShortTimeString();
}
private void Form1_Load(object sender, EventArgs e)
{
label.Text = DateTime.Now.ToShortTimeString();
}
y una cosa mas alguien sabe como mostrar el nombre del archivo guardado o abierto en la barra de titulo e intentado de varias maneras y no encuentro como hacerlo no importa si es en VB o C#.
salu2
tienes razon pero es por qu etienes que esperar un segundo que es cuando se ejecuta el codigo tic del reloj (recuerda es cada 1 segundo es decir un segundo despues del load) te digo un truco mucho mas sencillo para qu eno te hagas bolas, pon el mismo codigo que pones en el tic del reloj en el form load de tu formulario asi:
private sub form1_load ….
Me.Label12.Text = Format(Now, “hh:mm:ss tt”)
end sub
y se acabo tu dilema
Saludos
eliseo….que bien gracias por ayudarnos con estos codigos sencillos y la buena explicacion a nosotros los que apenas empezamos con lo de programar…….tenes razon con el timer es muy necesario para que se actualize..
Gracias.
Buen aporte!!
Buena me gusto la solución
amigos no miro el codigo para el tick del timer?? ayudenme por favor
Hola, yo use el Timer y como dice arriba, en la propiedad Enable tiene q ir en True, y el intervale = 1000….ahora…hacen doble click en el objeto Timer1 y les llevara al evento Tick…dentro ponen el codigo algo asi…
Public Class frmPrincipal
Private Sub Tiempo_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tiempo.Tick
txtHora.Text = Format(Now, “hh:mm:ss tt”)
txtFecha.Text = Date.Now.Date
End Sub
End Class
en mi caso io le cambie el nombre del objeto, en ves de Timer1 le puse Tiempo…
espero q les ayude a los nuevos programadores.
Neobones tu función es cojonuda! va de puta madre.
Buenas amigos, he intentado varias veces como me dicen pero al correr el programa el reloj no se va actualizando cada segundo, que debo hacer para que en corrida se vaya actualizando, ya la propiedad de interval la coloque en 1000, sin embargo no se actualiza.
espero me pueda ayudar.
saludos.
aunque no lo mencionas supongo que por logica habras escrito el codigo para el evento tic del reloj? que es este
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label12.Text = Format(Now, “hh:mm:ss tt”)
End Sub
SISAS TA BN EL CODIGO Y YOP APENAS TOY APRENDIENDO Y NA.. QUISIERA SABER COMO ASERLE PARA CREAR UN CRONOMETRO SISAS…