详细讲解下这个倒计时编程,请详细到每一步,必有重分相些

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:40:16
Dim m As Integer
Dim n As Integer

Private Sub Form_Load()
Label1.Caption = 9
Label3.Caption = 59
m = 9
n = 59
End Sub

Private Sub Timer1_Timer()
If n <> 0 Then
n = n - 1
Else
If m <> 0 Then
m = m - 1
n = 59
Else
n = n - 1
End If
End If
Label1.Caption = m
Label3.Caption = n
If n = 0 And m = 0 Then
MsgBox "时间到,倒计时结束"
Timer1.Enabled = False
End If
End Sub
上述语言中,尤其是这部分,不明白是怎样实现倒计时的:
Private Sub Timer1_Timer()
If n <> 0 Then
n = n - 1
Else
If m <> 0 Then
m = m - 1
n = 59
Else
n = n - 1
End If
End If
Label1.Caption = m
Label3.Caption = n

假如你的timer1.interval=1000,那么这个程序就是倒计时10分钟,代码的意思如下:

Private Sub Timer1_Timer()
If n <> 0 Then '假如n不等于0
n = n - 1 ’则每次timer事件都让n-1,这里n自减的快慢与interval的设置有关
Else '否则,就是当n=0的时候,将会怎样,看下面,
If m <> 0 Then ’当m<>0 ,
m = m - 1 '即是说当秒针从59-0时,分针m要去掉一分钟,倒计时嘛
n = 59 'm去掉一分钟后,n(我称为秒)重新从59开始倒计时
Else '否则m=0情况下,还是让n自减1
n = n - 1
End If
End If
Label1.Caption = m
Label3.Caption = n

这个代码写的不好,光绕弯,很“废”
我给你改改:
Private Sub Timer1_Timer()
If n <> 0 Then
n = n - 1
ElseIf m = 0 Then
Timer1.Enabled = False
MsgBox "倒计时结束"
Else
m = m - 1
n = 59

End If
Label1.Caption = m
Label3.Caption = n

End Sub