代码如下:
Dim n As Integer
Dim t As String
Private Sub Command1_Click()'计时开始
If Text1.Text = "" Then
Exit Sub
End If
t = Val(Text1.Text)
Timer1.Enabled = True
Label1.Caption = "剩余时间:" &t &"分钟"
End Sub
Private Sub Command2_Click() '退出程序
End
End Sub
Private Sub Timer1_Timer()
n = n + 1
Label1.Caption = "剩余时间:" &t - n &"分钟"
If n = t Then
Beep
MsgBox "时间到", vbExclamation + vbOKOnly
Timer1.Enabled = False
n = 0
End If
End Sub
Private Sub Timer2_Timer()
Label2.Caption = "现在时间:" &Time
End Sub
1、首先,建立一个工程,并在窗口中添加三个命令按钮,caption分别改为“设置倒计时”、“启动倒计时”、“继续”,将窗体Form1的caption属性改为“倒计时”,再添加一个计时器控件,并且添加一个文本框,将界面设置成如下图所示。
2、将文本框的Text里的属性清空干净,再把字体Font的属性调整成为小四,方便接下来的观察,一定记得把背景色属性Backcolor调为浅黄色。
3、接下来,双击“设置倒计时”命令这个按钮,就会进入到代码编辑窗口,输入如图所示代码:
4、接着双击“启动倒计时”命令这个按钮,接下来会进入代码编辑窗口,再输入如下图所示代码:
5、再接着双击“计时器”控件,然后进入代码编辑窗口,输入如图所示代码:
6、在代码编辑窗口的通用段进行这三个变量的定义:Dim h As Integer, m As Integer, s As Integer '分别存储这三个量时、分、秒,如下图所示。
7、最后再双击窗体,然后就会进入代码编辑器,在 Form_Load事件中写入代码,代码如下图红框所示:
8、接着关闭代码窗口,按一下F5运行程序,再单击“设置倒计时”这个命令按钮,这时候就会d出一个输入对话框,一定要记得此时输入分钟数,数字为1,然后确定,如图所示:
9、最后一定要单击“启动倒计时”这个命令按钮,然后文本框就会显示倒计时时间,并会不断地变动,这个时候你就可以看见时间在变动,这就是实现了倒计时功能,如图所示:
扩展资料:
使用VB倒计时设置计时参数5X60=300秒,然后设置定时器1S中断.当计时器为0就是5分钟,将计时器参数显示在文本框中就可以了。这个题目需要使用计时器控件,所以计时器的控件的Timer事件以及Enable属性、Interval属性需要熟知。
窗体上放一个label,一个HScrollbox,三个Commandbutton,一个timer双击窗体,删掉别的代码,粘贴下面代码:
Dim Minute, Second As Long
Private Sub Command1_Click()
Minute = InputBox("输入分钟数", "倒计时时间")
Second = 60 * Minute
Label1.Caption = "倒计时时间为" &Minute &"分钟"
Command2.Enabled = True
Command3.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub
Private Sub Command3_Click()
Timer1.Enabled = False
Label1.Caption = "已结束倒计时"
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
End Sub
Private Sub Timer1_Timer()
If Second <0 Then
Timer1.Enabled = False
Else
Label1.Caption = IIf(Second \ 3600 = 0, "00", IIf(Second \ 3600 <10, "0" &Second \ 3600, Second \ 3600)) &":" &IIf(Second \ 60 Mod 60 = 0, "00", IIf(Second \ 60 Mod 60 <10, "0" &Second \ 60 Mod 60, Second \ 60 Mod 60)) &":" &IIf(Second Mod 60 Mod 60 = 0, "00", IIf(Second Mod 60 Mod 60 <10, "0" &Second Mod 60 Mod 60, Second Mod 60 Mod 60))
HScroll1.Value = (60 * Minute - Second) / (60 * Minute) * HScroll1.Max
Second = Second - 1
End If
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)