Timer count down in VB.Net 2010?

Ich versuche, einen timer count-down von einer bestimmten Zeit, die ich wählen, mit der Zeit wird getrennt in Minuten und Sekunden im format MM:SS und dann aufhören, wenn die Zeit erreicht 00:00.

Bisher habe ich eine frühere Antwort, die gefunden werden hier und modifiziert es nach meinem besten wissen mit nach unten zählen, obwohl ich getroffen habe, einen Haken in die, wenn der timer erfolgreich startet den Countdown, es ist verzögert und nicht synchron beim zählen hinunter die Minuten.

Beispielsweise einen Countdown von 120 Sekunden;

02:00 >
02:59 >
02:58 >
02:57 >
02:56 >
02:55

Dann, wenn die Fortsetzung zu count down letzten 90 Sekunden unter den gleichen test;

02:30 >
01:29 >
01:28 >
01:27 >
01:26 >
01:25

Wenn der countdown erreicht 00 oder 30 Sekunden, es zeigt falsch die Minuten gelassen und können nicht verstehen oder herauszufinden, wie es zu lösen ist.

Hier ist mein code für meine Zählung Timer;

Private Sub tmrCountdown_Tick(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) _
                          Handles tmrCountdown.Tick

    SetTime = SetTime - 1
    lblTime.Text = FormatTime(SetTime)

    If SetTime = 0 Then
        tmrCountdown.Enabled = False
    End If

End Sub

Hier ist mein code für die Funktion der Formatierung der Zeit;

Public Function FormatTime(ByVal Time As Integer) As String
    Dim Min As Integer
    Dim Sec As Integer

    'Minutes
    Min = ((Time - Sec) / 60) Mod 60

    'Seconds
    Sec = Time Mod 60

    Return Format(Min, "00") & ":" & Format(Sec, "00")

End Function

Und hier ist mein code für das Formular Laden;

Private Sub frmSinglePlayer_Load(ByVal sender As System.Object, _
                                 ByVal e As System.EventArgs) _
                             Handles MyBase.Load

    'Setting the time.
    SetTime = 120
    lblTime.Text = FormatTime(SetTime)
    tmrCountdown.Enabled = True

End Sub

Ich eingestellt habe;

    Dim SetTime As Integer

Oben auf meiner Öffentlichen Klasse also ich bin in der Lage, Eingaben einer bestimmten Zeit in den countdown-timer. Das ist wohl etwas unglaublich dummes, und ich kann nicht herausfinden, was es ist.

Jede Hilfe wird sehr geschätzt und bitte im Hinterkopf kahl, ich bin ein Anfänger im Programmieren und erhalten Sie leicht zu verwechseln mit dem man die großen Wände der code. (Ich kann kaum verstehen die Funktion wie es ist.)

Danke für die Hilfe!

Sie sind unter der Annahme, dass die timer-tick-Auftritt genau auf die angegebenen Intervall. Tut es das nicht. Ich denke, wenn Sie suchen für countdown-timer und visual basic finden Sie viele Lösungen.
Ich habe getestet mit unterschiedlichen Mengen an Zeit und alles passiert innerhalb der Intervalle, die ich angegeben habe. Wenn die Sekunden ticken von 00 bis 59, die die minute nicht sinken um 1, und wenn die Sekunden ticken von 30 auf 29, die minute um 1 verringert.

InformationsquelleAutor Holy Dribble | 2013-05-18

Schreibe einen Kommentar