Anfänger mit Minifrage ... Komme aber nicht Drauf.... Deklarieren in Timer nicht möglich oder?

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von einfach112.

    Anfänger mit Minifrage ... Komme aber nicht Drauf.... Deklarieren in Timer nicht möglich oder?

    Hallo !
    in meiner leeren form habe ich einen timer gesetzt.
    dieser tickt auch wunderbar .....
    ich würde die Ticks gerne counten.

    Ich würde jetzt gerne zählen wie oft er tickt. und wenn er eine bestimmte zahl erreicht hat dann soll der counter wieder von vorne zählen
    hatte es mir ca. so gedacht:

    Quellcode

    1. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    2. Dim Dotcounter As Integer
    3. If Dotcounter > 10 Then
    4. lblDots.Text = "."
    5. Dotcounter = 1
    6. Else
    7. Dotcounter = +1
    8. lblDots.Text = lblDots.Text & "."
    9. End If

    Meiner meinung nach solles es so sein das wenn der timer aktiv ist 10 Punkte in lblDots erscheinen. wenn DotCounter 10 erreicht hat dann wird Dotcounter auf 1 gesetzt und somit werden in lblDots.text nur noch 1 Punkt angezeigt.

    Doch irgendwie greift meine If Frage nicht .... er macht einfach punkt an punkt und nimmt kein Ende...

    (Ja ich bin Anfänger)

    Sorry für die Dumme Frage .....
    Hatte auch schon versucht:

    Quellcode

    1. Dim Dotcounter As Integer
    2. Dim Dotcounter = 1
    3. If Dotcounter > 10 Then
    Aber dann würde er ja bei jeden Tick den DotCounter wieder auf 1 setzen oder ?


    Also irgendwie habe ich da wohl nen Denkfehler aber komme nicht drauf

    Danke im voraus!
    Mike
    Wenn du eine Variable in einer Methode (Timer_Tick) deklarierst, ist diese Variable nur so lange gültig bis die Methode verlassen wird. Deine Variable Dotcounter ist also immer 0. Du musst die Variable global deklarieren, d.h. Z.B. über Private Sub Timer1_Tick....

    *Edit*

    VB.NET-Quellcode

    1. Dim Dotcounter As Integer =0
    2. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

    brachte leider auch keine änderung

    Quellcode

    1. ​ Dim Dotcounter As Integer = 1
    2. Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
    3. If Dotcounter > 10 Then
    4. lblDots.Text = "."
    5. Dotcounter = 1
    6. Else
    7. Dotcounter = +1
    8. lblDots.Text = lblDots.Text & "."
    9. End If