Timer控件可用来在一定时间间隔执行操作,然而,一个Timer控件的时间间隔取值最大为64.767毫秒,这意味着即使最长的时间间隔也不比一分钟长多少(大约64.8秒),也就是说一个Timer控件只能响应大约一分钟之内的事件。如果要响应长时间的事件,例如,要开发一个学习系统的自我测试或考试过程,需要限制一个考试时间,一般都在10~150分钟,开始自动计时,时间到报警考试结束。则需多个Timer控件配合使用,这样做显得既繁琐又不实用。其实,可以只用一个Timer控件,在其Timer过程中使用一个计数器,从而响应任意长时间间隔的事件。
下面是一个定时实例的部分代码:
控 件 属 性 设置的值
Label1 Caption "请输入限定时间(分钟):"
Text1 Text ""
Command1 Caption "确认"
Timer1 Interval 60000
Enabled False
在窗体通用模块General里声明N、T两个变量,N作为计数器,T用来存放限定时间。
DIM N AS Integer
DIM T AS String
Private Sub Command1_Click()
T=Text1.Text
Timer1.Enabled=True
End Sub
Private Sub Timer1_Timer()
N=N+1
if n=val(T) Then
Beep
Timer1.Enabled=False
End if
End Sub
将定时器的Interval属性值设为60000,使得计数器每分钟加1,当然也可以设置为其他的值,如1000,这样就使得计数器每秒钟加1,但这样要浪费较多的系统时间。