我正在尝试使用计时器从我选择的指定时间开始倒计时,时间使用格式MM:SS分为分钟和秒,然后在时间达到00:00时停止。
到目前为止,我已经使用了在此处找到的先前答案,并据我所知通过倒计时对其进行了修改,尽管我遇到了一个障碍,当计时器成功开始倒计时时,它会延迟并且不同步倒计时分钟。
例如,从 120 秒倒计时;
02:00
>
02:59
>
02:58
>
02:57
>
02:56
>
02:55
然后在同一测试下继续倒计时超过 90 秒时;
02:30
>
01:29
>
01:28
>
01:27
>
01:26
>
01:25
当倒计时达到00或30秒时,它会错误地显示剩余分钟数,并且无法理解或弄清楚如何修复它。
这是我的计数计时器代码;
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
这是我格式化时间的函数代码;
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
这是我的表单加载代码;
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
我已经设置了;
Dim SetTime As Integer
在我的公共课的顶部,所以我可以在倒数计时器中输入指定的时间。这可能是非常愚蠢的事情,我无法弄清楚它是什么。
非常感谢任何帮助,请记住,我是编程初学者,很容易与大量代码混淆。(我几乎无法理解该功能。)
感谢您的帮助!