Vull mostrar avui una forma simple i senzilla de crear en visual basic. Net un rellotge digital. Ho farem utilitzant un label i un component Timer.
El formulari hauria de tenir una aparença similar a la de la següent imatge>

Per a aquest exemple on només mostrarem l'hora, canviarem la font del control label per donar-li més importància. Jo estic fent servir font Tahoma mida 28.
Ara vegem les propietats del component timer. Perquè s'executi el codi de l'esdeveniment Tick del component timer, aquest ha de tenir la propietat enable a True. I el codi que ingressem s'arrenca cada n ticks. La quantitat de ticks de n es les indiquem amb la propietat interval en mil · lisegon. Per tant si col · loquem aquesta propietat en 1000 ticks, el codi s'executarà cada 1 segon.
Ara vegem el codi, és molt senzill:
Private Sub Timer1_Tick (ByVal sender As System.Object, _ ByVal i As System.EventArgs) Handles Timer1.Tick Label1.Text = Date.Now.ToLongTimeString End Sub
Només resta executar (F5) l'aplicació i tindrem el nostre rellotge digital com es mostra en la següent imatge>

Si ets assidu lector d'aquest bloc, sabràs que tot el codi dels exemples sempre pretén ser molt senzill i que tu tens a partir d'aquests exemples la possibilitat de millorar, complementar i adaptar-los per usar-los en les teves aplicacions.
Com sempre, espero que et sigui útil.
Informació Bitacoras.com ...
Valora en Bitacoras.com: Vull mostrar avui una forma simple i senzilla de crear en visual basic. Net un rellotge digital. Ho farem utilitzant un label i un component Timer. El formulari hauria de tenir una aparença similar a la de la i ....
el timer no cal, una forma mes senzilla:
Private Sub Form1_Load (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles MyBase.Load
Me.Label1.Text = Format (Now, "hh: mm: ss tt")
End Sub
fastmonro:
gràcies per l'aportació, però l'únic que fas amb això és "mostrar" en una etiqueta l'hora en què es va carregar el formulari (ja que el crides des del esdeveniment Load). Permet-me dir-te que per aconseguir la funcionalitat d'un rellotge, és a dir, que mostri l'hora actual "tot el temps" és necessari el component Time r, sinó no seria un rellotge ... sol mostraries l'hora d'un moment determinat.
Molt bo la seva aportació! Felicitats!
excel · lent aportació germà però l'únic problema que li trobo és que no carrega al mateix temps que l'executa un cal esperar cert temps perquè mostri el rellotge només cal posar el mateix en l'esdeveniment load del form jo ho vaig fer en C # perquè és el que més puc utilitzar
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 ();
}
i una cosa mes algú sap com mostrar el nom del fitxer desat o obert a la barra de títol i intentat de diverses maneres i no trobo com fer-ho no importa si és en VB o C #.
salu2
tens raó però és per què etienes d'esperar un segon que és quan s'executa el codi tic del rellotge (recorda és cada 1 segon és a dir un segon després del load) et dic un truc molt més senzill per qu eno et facis boles, posa el mateix codi que poses en el tic del rellotge en el form load del teu formulari així:
private sub form1_load ....
Me.Label12.Text = Format (Now, "hh: mm: ss tt")
end sub
i s'acabo teu dilema
Salutacions
Eliseo .... que bé gràcies per ajudar-nos amb aquests codis senzills i la bona explicació a nosaltres els que tot just comencem amb el de programar ....... tenes raó amb el timer és molt necessari perquè es actualitzi ..
Gràcies.
Bona aportació!
Bona em gust la solució
amics no miro el codi per al tick del timer?? ayudenme si us plau
Hola, jo utilitzeu el Timer i com diu a dalt, en la propietat Enable té q anar en True, i el intervale = 1000 .... ara ... fan dues vegades sobre l'objecte Timer1 i els portés a l'esdeveniment Tick ... dins posen el codi alguna cosa així ...
Public Class frmPrincipal
Private Sub Tiempo_Tick (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles Tiempo.Tick
txtHora.Text = Format (Now, "hh: mm: ss tt")
txtFecha.Text = Date.Now.Date
End Sub
End Class
en el meu cas io li canvieu el nom de l'objecte, en comptes de Timer1 li vaig posar Temps ...
espero q els ajudi als nous programadors.
Neobones teva funció és collonuda! va de puta mare.
Bones amics, he intentat diverses vegades com em diuen però en córrer el programa el rellotge no es va actualitzant cada segon, que he de fer perquè en correguda es vagi actualitzant, ia la propietat de interval la col · loqui en 1000, però no s'actualitza .
espero em pugui ajudar.
salutacions.
encara que no ho esmentes suposo que per lògica hauras escrit el codi per a l'esdeveniment tic del rellotge? que és aquest
Private Sub Timer1_Tick (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles Timer1.Tick
Label12.Text = Format (Now, "hh: mm: ss tt")
End Sub
Cises TA BN EL CODI I Yop PENES TOY APRENENT I NA .. VOLDRIA SABER COM ASERLE per crear un CRONÒMETRE cises ...
aquí hi ha alguna cosa una mica més elaborat
Public Class Form1
Dim comptador As Integer
Private Sub Form1_Load (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles MyBase.Load
Me.Text = "indicador del temps"
Me.Label1.BorderStyle = BorderStyle.FixedSingle
Me.Label1.TextAlign = ContentAlignment.MiddleCenter
Me.Label1.Text = ""
Me.Label1.BackColor = Color.Black
Me.Label1.ForeColor = Color.Red
Me.Label1.Visible = False
Me.Timer1.Interval = 1000
Me.Timer1.Enabled = True
BackColor = Color.White
End Sub
Private Sub horaToolStripMenuitem_click (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles HoraToolStripMenuItem.Click
comptador = 1
End Sub
Private Sub fechaToolStripMenuItem_click (ByVal sende As System.Object, ByVal i As System.EventArgs) Handles FechaToolStripMenuItem.Click
comptador = 2
End Sub
Private Sub Timer1_Tick (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles Timer1.Tick
Me.Label1.Visible = True
If comptador = 1 Then Label1.Text = TimeString
If comptador = 2 Then Label1.Text = My.Computer.Clock.LocalTime.Date.ToString
End Sub
End Class
Gràcies per l'aportació, funciona a la perfecció
m'estava donant moltes voltes amb això i amb aquestes poques línies es solucione ... THANKS AGAIN!
desearia que em enviïs més exercicis amb timer en especial com fer que un elevador es mogui al pis desitjat
gràcies.
El rellotge funciona correcte com aquesta en l'exemple, simplement en iniciar el formulari cal posar Timer.Start ()
Salutacions.
si funka això del timer però mira el teu task manager perquè vegis com es mou de recursos (depenent de processador ram etc ..) alguna altra forma d'optimitzar? algun me.refresh?
chido hijes em trec d'una dificultat
tinc un dubte de com ago un tall de caixa amb els toteles de les vendes dond el camp de la base de dades en access
és monto_venta
se't s'agraeix si tens algun exemple
hola sóc estudiant d'enginyeria en sistemes estic fent un sistema per la meva pràctica són excel · lents les seves aportacions probe 2 exemples de dalt xq la veritat això c suposa és bàsic però en aquests casos a qualsevol c li apaga el cpu. jeje
Private Sub Form1_Load (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles MyBase.Load
Me.Label1.Text = Format (Now, "hh: mm: ss tt")
End Sub
només em dóna una determinada hora no l'actualitza
i
Private Sub Timer1_Tick (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles Timer1.Tick
LHora.Text = Date.Now.ToLongTimeString
End Sub
aquest si la propietat de timer ha d'estar en true ciertisimo i un interval de 1000 i això és tot funciona a la perfecció
Hola, com es fa el rellotge en comptes d'en un web form en un lloc web, no aconsegueixo veure-ho, l'esdeveniment timer.start posa que no existeix.
el problema és que els esdeveniments dels controls s'executen del costat del servidor, i perquè això passi has de fer un Reques, la qual cosa torna a carregar tota la pàgina ... en realitat ho has de fer del costat del client.
Prova amb java (javascript), amb ajax o jQuery.
Sort
grasias per tot però necessito que m'ajudin
necessito fer tot això però en c # jo sóc nou programdo si algú sap siusplau ayudenme.
Hola Jo també sóc nou programant i volia saber si algú sap com fer q un formulari a l'hora q li dones clic es faci transparent així com les finestres en el linux Opensuse 3/11
Imports ClassLibrary1
Public Class Form1
Private Sub Form1_Load (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles MyBase.Load
Time.Start ()
End Sub
Private Sub Time_Tick (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles Time.Tick
Dim hores As New class1
Label.Text = horas.hora ()
'Hora ()
End Sub
'Private Sub hora ()
'Label.Text = Now
'' MessageBox.Show ("Col · locar l'hora")
'End Sub
End Class
PASSABA PER AQUI BUSCANT ESE CODI ... SOL AGAFAMENT EL CODIGO DEL TIMER ... I AMB UNS ARRANJAMENTS ME FUNCIONO A LA PERFECCIÓ ... GRÀCIES Miguelito ...
Gràcies pels codis anteriors em van servir per poder adaptar-lo al meu.
El codi que a mi em funcinó per obtenir l'hora, la qual canviés conforme el sistema operatiu ho fes ..
Private Sub Form1_Load (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles MyBase.Load
lblHora.Text = Date.Now.ToLongTimeString
Timer1.Start ()
End Sub
Private Sub Timer1_Tick (ByVal sender As System.Object, ByVal i As System.EventArgs) Handles Timer1.Tick
lblHora.Text = Date.Now.ToLongTimeString
End Sub
ja prengui diversos exemples de arribaa i cap em funcionaa! crec que sóc molt dolent per a això: S necessito fer un rellotge però ke a la pantalla es vegi com van passant els segons oseaa alguna cosa així! 00:00:00 ayudenmeee DD:
Hola a tots, doncs jo he estat investigant sobre els timer i segons he vist he de utilitzar-los per fer el control d'un elevador fins ara mateix només porto la interfície amb els nivells de l'1 al 10 i fer el recorregut però després torna a començar des 1 al 10 no com hauria de ser i encara no he trobat la manera de que funcioni mitjançant els botons, no se si algú li ha tocat treballar en alguna cosa així que em pugui ajudar o si més no explicar, per endavant gràcies.
com faig per que amb el timer quan s'executa em mostra una paraula en un ListBox
com puc cridar l'ajuda de windows en vb.net 2005