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() EndEnd Sub