1.添加一个label 用于显示时间
2.添加一个timer空间并将Interval属性设为1000(毫秒)。Enabled属性设置为false
3.添加3个command 分别为“设置时间”,“开始”,“结束”
4.添加一个模块,并在模块中添加以下代码用于时间转换:
Option Explicit
Public hh, mm, ss As Integer
Public Function hmsValueToString(ByVal h As Integer, ByVal m As Integer, ByVal s As Integer) As String
Dim hstring, mstring, sstring As String
If h < 10 Then
hstring = "0" + Trim(Str(h))
Else
hstring = Trim(Str(h))
End If
If m < 10 Then
mstring = "0" + Trim(Str(m))
Else
mstring = Trim(Str(m))
End If
If s < 10 Then
sstring = "0" + Trim(Str(s))
Else
sstring = Trim(Str(s))
End If
hmsValueToString = hstring + ":" + mstring + ":" + sstring
End Function
5.添加设置时间代码
Private Sub Command1_Click()
Dim temp, Hs, Ms As String, valuetime As Integer
temp = InputBox("请输入倒计时数(以分钟为单位):", "设置倒计时")
valuetime = Val(temp)
hh = Int(valuetime / 60) '获得小时部分
mm = valuetime - hh * 60
ss = 0
Label1.Caption = hmsValueToString(hh, mm, ss)
End Sub
6.倒计时开始代码,将timer空间的Enabled属性设置为true.开始计时调用Timer1_Timer()
方法
Private Sub Command2_Click()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
If ss < 1 Then '如果秒位已为0,则向高位借
If mm < 1 Then '若分位也已为0,则向小时位借
If hh < 1 Then
Timer1.Enabled = False
Exit Sub
Else
hh = hh - 1
mm = 59
ss = 60
End If
Else
mm = mm - 1
ss = 60
End If
End If
ss = ss - 1 '秒数减1
'------将本次剩余时间转换为HH:MM:SS格式
Label1.Caption = hmsValueToString(hh, mm, ss)
End Sub
7.结束计时
Private Sub Command3_Click()
End
End Sub