计时器(TIMER)控件在VB编程中的应用
2012-11-08河南蒋云丽
河南 蒋云丽
计时器(TIMER)控件在VB编程中的应用
河南 蒋云丽
我们知道计时器控件的作用是定时产生一个时钟(timer)事件,利用这个事件可以定期地做一些程序处理。用户可以自行设置每个计时器的时间间隔(Interal)。在实践教学中,Timer事件有很广的应用,比如实现动画的制作、实现循环结构的程序设计。
Interval属性;Timer事件
VisualBasic中计时器(timer)控件用于前景进程中,它是不可见。通过它的Timer事件可以控制A程序有规律地每隔一段时间执行一次代码。
1重要属性
Interval属性:该属性用来设置计时器事件之间的间隔,以毫秒为单位,其取值范围为0~65 536毫秒,因此最大的时间间隔不能超过65秒。60 000毫秒为1分钟,如果把Interval属性值设为1 000,则表明每秒钟发生一个计时器事件;如果希望每秒产生n个事件,则Interval属性的值设置为l 000/n。
2重要事件
Timer事件:是VB模拟实时计时器的事件。使用计时器控件的操作步骤:
(1)设置Timer控件的Interval属性值,这个属性决定了产生定时事件的时间间隔。该属性的单位是千分之一秒。例如,把:Interval属性设置为500,则计时器将每隔0.5秒将产生一次Timer事件。
(2)编写响应计时器的Timer事件的事件过程,即在事件过程中编写需要定时执行的代码,完成各种定时任务。
(3)通过设置计时器控件的Enabled属性为True或False来打开或关闭Timer事件的产生。
3利用Timer事件制作简单的动画
例如:利用计时器的Timer事件移动标签控件在窗体上的位置,以生成滚动文字效果。(如下图)
设计步聚:
1.填加Timer图标,将其Interval属性设为30;
2.填加Frame1图标,将Caption属性设为“白日依山尽,黄河入海流,欲穷千里目,更上一层楼”;
3.垂直滚动条,将其MAX属性设为30,MIN属性设为10,SmallCHange属性设置为1,largechange属性设为2;
4.代码如下:
4利用Timer事件实现程序的循环
大家都知道VisualBasic中有专用的循环语句,但是利用IF语句和Timer事件的结合也可以很好地实现循环结构的编程。利用Timer事件实现循环应注意以下问题:
首先,要用Static定义静态变量。不能用Dim定义动态变量,否则每循环一次,变量又被重新定义,它以前的值会被抛弃。而用Static定义成静态变量的话,它会存储上一次循环后变量的值。
其次,用If语句循环,不要给变量赋初值。否则每循环一次,变量又被重新设置为初值了。
我们就以下面这段“在按钮上显示点击的次数”的代码为例来说明。
Static Counts As Integer是用Static定义一个静态变量来存储已经点击的次数。Counts=Counts+1,每点击一次,变量值加1,大家已经注意到,这里并没有给Counts赋初值。你单击了几次,Counts的值就是几。
最后,如果If循环过程中不需要用户干预,须用Timer来实现循环。上面的例子的每一次循环都是用户点击而进行的,如果循环次数比较多,中途又不能直接干预的话,就得用Timer定时器控件来实现。
例如计算“1^2+2^2+...+10^2的值”,这个程序就要求循环10次,如果用前面的方法来实现的话,那得点击按钮10次,实在太麻烦,况且,如果要循环百次千次这样多的次数,总不可能手动点击那么多次。用Timer定时器控件的话,可以让定时器每间隔一定时间自动执行一次代码,当达到循环次数时,使定时器停止。
在窗体上添加一个Command按钮和一个Timer定时器。先在窗体的Form_Load()事件中设置Timer定时器的Enabled属性为False,Interval属性为100毫秒。
然后在Command1_Click()事件中写下Timer1.Enabled=True,这样,当点击按钮时,Timer定时器才启动。
最后一步,在Timer1_Timer()事件中用If语句来设置循环条件是关键,请看下面的代码:
来分析一下这段代码,Static Sum As Integer,n As Integer定义两个静态变量Sum和n,Sum用于存放总和。下面仍然没有为Sum和n赋初值,直接用n=n+1使定时器每运行一次,n的值就加1。后面的if语句是循环条件,如果n的值没超过10,就继续运算,否则就使定时器停止,并且在窗体上显示出运算结果。
[1]Visual Basic6.0程序设计.电子工业出版社,2010年.
[2]Visual Basic6.0程序设计教程.清华大学出版社,2000年.
(作者单位:河南省郑州机电工程学校)
(编辑 王旸)