Timers gebruiken in vb

Ik begrijp niet hoe ik de timers in vb.net moet gebruiken. Ik wil een eenvoudig programma maken waarbij wanneer ik op een knop druk de timer start en het label elke seconde van nummer verandert totdat 60 seconden zijn verstreken. Ik denk dat ik dit in de button event moet zetten

Timer1.Start()

Maar ik weet niet zeker wat ik vanaf daar moet doen. Hoe ga ik dit doen?


Antwoord 1, autoriteit 100%

Nou Timer1.Start()start de timer, maar je moet aangeven hoe vaak de timer tikt.

Timer1.Interval = 1000

laat de timer elke 1000 milliseconden of 1 sec tikken. De acties die u voor de timer wilt laten plaatsvinden, gaan in de gebeurtenishandler Timer_Tick.

Om het label te laten toenemen, kunt u een globale variabele gebruiken:

Public Class MainBox
Dim counter As Int
Private Sub Form_Load(sender As System.Object, e As System.EventArgs)
    Timer1.Interval = 1000
    Timer1.Start()
End Sub
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) HandlesTimer1.Tick<action>
    counter = counter + 1
    label1.Text = counter
End Sub

Antwoord 2, autoriteit 100%

U moet de gebeurtenis-handler Tick definiëren die de acties uitvoert wanneer de tijd tikt (hij zal elk interval – in milliseconden – gedefinieerd in de eigenschap INTERVAL) aanvinken):

Start de timer:

Timer1.Start()

Definieer de eigenschap INTERVAL (2 seconden in het volgende voorbeeld):

Timer1.Interval = 2000 

Definieer de gebeurtenis-handler

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
    <action>
    IF <condition> THEN Timer1.Stop()
End Sub

Als je wilt, kun je de timer stoppen met Timer1.Stop()


Antwoord 3

Vergeet niet de timer in te schakelen en het interval in te stellen (1000 zou goed genoeg moeten zijn, maar u kunt de standaard 100 laten staan). Plaats in een Tick-handler code om het label te vernieuwen. Onthoud bij het starten van de timer de starttijd (Date.Now). Dan, bij elke tik:

lbl.Text = Date.Now.Subtract(startDate).TotalSeconds.ToString("N0")

Other episodes