problem mit timer es passiert einfach nichts

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von trex220995.

    problem mit timer es passiert einfach nichts

    folgendes problem

    ich möchte das pro timer tick eine zahl um 1 addiert wird.

    mein problem ist das wenn ich die form starte der timer nicht anfängt zu zählen...


    brauche hilfe..

    mein code ist einfach:

    Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Timer1.Start()
    3. End Sub
    4. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    5. Dim sekunden As Int32
    6. Dim minuten As Int32
    7. Dim stunden As Int32
    8. sekunden = Convert.ToInt32(Label3.Text)
    9. sekunden = sekunden + 1
    10. minuten = Convert.ToInt32(Label2.Text)
    11. stunden = Convert.ToInt32(Label1.Text)
    12. If sekunden = 60 Then
    13. minuten = minuten + 1
    14. Label2.Text = minuten
    15. sekunden = 0
    16. Label3.Text = sekunden
    17. End If
    18. If minuten = 60 Then
    19. stunden = stunden + 1
    20. Label1.Text = stunden
    21. minuten = 0
    22. Label2.Text = minuten
    23. End If
    24. End Sub


    hilfe bitte

    VB.NET-Quellcode

    1. Timer1.Start()

    Da steht der Fehler.

    Es muss

    VB.NET-Quellcode

    1. Timer1.Enabled
    heißen dann stimmts

    @Patrick1993: :thumbdown:
    @trex220995:
    Du musst die Sekunden, Minuten und Stunden stets zurückschreiben.
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    2. Dim sekunden As Int32
    3. Dim minuten As Int32
    4. Dim stunden As Int32
    5. sekunden = Convert.ToInt32(Label3.Text)
    6. sekunden = sekunden + 1
    7. minuten = Convert.ToInt32(Label2.Text)
    8. stunden = Convert.ToInt32(Label1.Text)
    9. If sekunden = 60 Then
    10. minuten = minuten + 1
    11. sekunden = 0
    12. End If
    13. If minuten = 60 Then
    14. stunden = stunden + 1
    15. minuten = 0
    16. End If
    17. Label1.Text = stunden.ToString
    18. Label2.Text = minuten.ToString
    19. Label3.Text = sekunden.ToString
    20. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromgermany: Wieso :thumbdown:

    VB.NET-Quellcode

    1. Timer1.Enabled
    tut doch den Timer Starten

    Patrick1993 schrieb:

    Da steht der Fehler.
    Deswegen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich hatte mich verschrieben.
    Ich wollte eigendlich Hier ist der Fehler schreiben uns es ihm dann Richtig (so wie ich es dachte) wiedergeben

    Du hast den Programmfehler nicht gefunden.
    Beide Schreibweisen sind richtig, Timer1.Start() und Timer1.Enabled = True
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich nutze ummer Timer1.Enabled = True daher dachte ich es were der fehler

    ne funzt immer noch nicht...

    hilfe

    hier einmal der ganze code:

    Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. Timer1.Enabled = True
    4. End Sub
    5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    6. Me.Hide()
    7. End Sub
    8. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    9. Dim sekunden As Int32
    10. Dim minuten As Int32
    11. Dim stunden As Int32
    12. sekunden = Convert.ToInt32(Label3.Text)
    13. sekunden = sekunden + 1
    14. minuten = Convert.ToInt32(Label2.Text)
    15. stunden = Convert.ToInt32(Label1.Text)
    16. MsgBox(sekunden)
    17. If sekunden = 60 Then
    18. minuten = minuten + 1
    19. Label2.Text = minuten
    20. sekunden = 0
    21. Label3.Text = sekunden
    22. End If
    23. If minuten = 60 Then
    24. stunden = stunden + 1
    25. Label1.Text = stunden
    26. minuten = 0
    27. Label2.Text = minuten
    28. End If
    29. End Sub
    30. End Class


    so und jetzt muss hier iwas drin sein was nicht passt aber was??

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „trex220995“ ()

    es ist nicht sinnvoll, jedesmal die Variablen neu zu deklarieren und den wert aus den labels zu lassen, sondern man sollte immer nur die Variablen hochzählen und dann das ergebnis ins Label schreiben:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim sekunden As Int32 = 0
    3. Dim minuten As Int32 = 0
    4. Dim stunden As Int32 = 0
    5. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    6. Timer1.Enabled = True
    7. End Sub
    8. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    9. sekunden += 1
    10. If sekunden = 60 Then
    11. minuten += 1
    12. sekunden = 0
    13. End If
    14. If minuten = 60 Then
    15. stunden += 1
    16. minuten = 0
    17. End If
    18. Label1.Text = stunden.ToString
    19. Label2.Text = minuten.ToString
    20. Label3.Text = sekunden.ToString
    21. End Sub
    22. End Class


    Gruß Vitox
    weiß zwar nicht warum aber funktioniert jetzt :D

    danke

    @ junkie

    geht nicht der code wird noch so verändert das ich jedesmal timer1.tick ein besonderes event ausführen möchte und das geht nicht in verbindung mit der klasse....