werken met een timer

  • Onderwerp starter Onderwerp starter 2Old
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

2Old

Gebruiker
Lid geworden
5 jun 2008
Berichten
6
Hallo allemaal,
Ik probeer een random getal te genereren gecontroleerd door een timer, maw in een lus die 20 keer uitegvoerd moet worden, met de timer met interval op 500ms, zou ik dus elke halve seconde een getal willen zien verschijnen in een label. Hieronder staat de code waarmee ik dit probeer. Kan iemand bijsturen aub? Het lukt me niet...
(dit alles op een formulier met button en labeltje)
Bedankt op voorhand.

Code:
Public Class pot

    Private Sub btnNummer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNummer.Click
        Dim aTimer As New Timer
        Dim intResult As Integer
        Dim iTeller As Integer

        aTimer.Enabled = True
        aTimer.Start()
        iTeller = 0
        Do
            Randomize()

            aTimer.Interval = 500
            intResult = Int(9 * Rnd())  '// genereer nummer tussen 0 en 9.

            lblNummer.Text = intResult.ToString  '//resultaat in blb zetten
            iTeller += 1
            lblTeller.Text = iTeller.ToString
        Loop Until iTeller = 20
     
    End Sub
 
Je hebt geen lus nodig, en je moet je opdracht bij timer.tick zetten. Heb net deze code geschreven en getest, zou moeten werken ;)

Code:
Public Class Form1

    Private WithEvents myTimer As New Timer
    Private random As New Random

    Public Sub New()
        InitializeComponent()
        'Stel het interval in
        With myTimer
            .Interval = 500
            .Enabled = False
        End With
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles Button1.Click
        'Start de timer
        myTimer.Enabled = True
    End Sub

    Private Sub myTimer_tick(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles myTimer.Tick
        Static myCounter As Integer = 0

        If myCounter >= 19 Then
            'Stop de timer en rest de teller waarde
            myCounter = 0
            myTimer.Enabled = False

        Else
            'Verhoog de teller
            myCounter += 1
            'Schrijf een random getal van 0 tot 9 in je label
            Label1.Text = random.Next(0, 10).ToString
        End If
    End Sub

End Class
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan