admin 管理员组

文章数量: 1086019


2024年3月27日发(作者:气瓶与压力容器区别)

审冒 憾睛锄 譬 嚣 

VB定时器控件的应用实例与研究 

◆赵俊峰 

(太原大学外语师范学院) 

【摘要】VB中的定时器控件具有灵活多变、易于控制等特点,在应用程序的开发中,利用VB定时器控件可以实现时间控制、随机控制、动 

画设计和游戏设计等制作。VB定时器控件和其他控件相结合,可以制作既灵活又实用的应用程序。 

【关键词】VB 定时器控制Timer 

VB中的定时器控件(Timer)是一个在程序运行时不可见的控件,在程 

序运行时,每隔若干时间(通过Interval属性设置)执行一次Timer事件中的 

x=MsgBox(”时间到II 11.,”提示”) 

End If 

相应代码。定时器控件最核心的属性是Enabled和Interval属性。利用En. 

abled可以设置定时器控件是否可用,其取值只有逻辑值True和False两 

种。利用Interval属性可以设置定时器控件激活Timer事件的时间间隔,其 

单位为毫秒,其取值范围为0—65535,当取值为0时,定时器控件不可用。 

由于定时器控件具有灵活多变、易于控制等特点。可以应用于时间控制、随 

机控制、动画制作、游戏制作等应用程序的开发中。 

时间控制 

1.整点播时器 

在实际工作中,有时需要利用计算机实现整点报时的功能,以提醒用 

户及时知晓当前时间。整点播时器的功能是:若当前系统时间为整点时 

(即当前时刻的分钟数和秒数均为0】,弹出对话框提示“现在是北京时间x 

点整”。在设计整点报时器时,定时器控件Timerl的Interval属性应设置为 

1000(1000毫秒=1秒),Timerl的timer事件代码如下: 

Private Sub Timerl

_

Timer() 

If Second(Time())=0 And Minure(Time())=0 Then 

a=MsgBox(”现在是北京时间”+Str(Hour(Time()))+”点整”) 

EndⅡ 

End Sub 

2.倒计时器 

在实际生活中,有时需要通过倒计时的方法,让观众随时了解当前距 

正式活动(比赛)的时间差。比如奥运会倒计时、开幕式倒计时等等。倒计 

时器的功能是:先在文本框textl中输入倒计时的时间(形式为hh:mm:ss), 

当单击“开始倒计时”按钮commandl时,每隔一秒钟,文本框textl中的时 

间倒退一秒钟,直到时间为0(oo:0o:O0】时,弹出对话框提示“时间 

到lI!”。在窗体中应添加按钮控件(eommand1)、定时器控件(timer1)和文 

本框控件(text1)。定时器控件timerl的Interval属性应设置为1000,Ena. 

bled属性应设置为False。相关代码如下: 

Public h,m,S,Slim 

Private Sub Commandl

(;lick() 

Timer1.Enabled:True 

End Sub 

Private Sub Timerl Timer() 

h=Val(Left(Text1.Text,2)) 

m=Val(Mid(Text1.Text,4,2)) 

s=Val(Right(Text1.Text。2)) 

sum=h 36()o+m 6O+s 

sum ¥tlrrl一1 

h=Slim\3600 

m=(slim Mod 3600)\60 

s=slimMod 60 

h=III(h<10,”0”+Trim(Str(h)),Trim(Str(h))) 

m:Ill"(m<10,”0”+Trim(Str(m)),Trim(Str(111))) 

s:IIf(s<10,”0”+Trim(Str(s)),Trim(Str(S))) 

Text1.Text=h+”:”+m+”:”+s 

If sum=0 Then 

Timer1.Enab】ed=False 

80 12/2009 

End Sub 

二、随机控制 

1.摇奖器 

摇奖器功能是根据摇奖规则,从规定的数字范围内随机的选出规定个 

数的随机号码。下面以体彩22选5为例介绍摇奖器的制作方法。单击命 

令按钮控件commandl开始进行摇奖,标签控件Labe1]一Label5不断地随机 

显示抽取出的五个幸运号码,单击命令按钮command2实现抽奖。eOlll- 

mandl的Caption设置为“摇奖”,command2的Caption设置为“抽奖”,定时 

器控件Timerl的Interval属性值为1O。相关代码如下: 

Private Sub Commandl

Click() 

Timer1.Enabled:True 

End Sub 

Private Sub Command2

Click() 

Timer1.Enabled=False 

While Not f Label1.Caption<>Label2.Caption And Label1.Caption< 

>Label3.Caption And Label1.Caption<>Label4.Caption And Label1.Cap— 

tion<>Label5.Caption And Label2.Caption<>Label3.Caption And La— 

bel2.Caption<>Label4.Caption And Label2.Caption<>Label5.Caption 

And Label3.Caption<>Label4.Caption And Label3.Caption<>Label5. 

Caption And Label4.Caption<>Label5.Caption And J 

Label1.Caption=Int(Rnd()¥22+1) 

Label2.Caption=Int(tlnd(){22+1) 

Label3.Caption=Int(Rnd【】 22+1) 

Label4.Caption:Int(Rnd() 22+1) 

Label5.Caption=Int(Rnd{)¥22+1) 

Wend 

End Sub 

Private Sub TimerlJimer() 

Label1.Caption=Int(Rnd()}22+1) 

Label2.Caption=Int(Rnd()¥22+1) 

Label3.Caption:Int(Rnd()¥22+1) 

Label4.Caption:Int(Rnd() 22+1) 

Label5.Caption:Int(Rnd() 22+1) 

End Sub 

其中,While Not(…)…Wend循环语句的目的是监测随机抽取的五 

个号码是否有重复值,如果有重复值则重新抽取,直到五个号码各不相同 

为止。 

2.礼花绽放 

礼花绽放的功能是随机地出现以窗体中心点为中心的随机颜色的线 

条,以模拟礼花绽放效果。只需在窗体中添加定时器控件Timerl,设置其 

Interval属性值为10,在定时器控件的Timer事件中利用窗体的line方法实 

现礼花绽放效果,相关代码如下: 

Private Sub Timerl

Timer() 

eOlllOr=RGB(Rnd(】¥255,Rnd()}255,Rnd() 255) 

X=Rnd() Fonn1.Width 

Y=Rnd() Form1.Height 

睁醉 栅 强 荨毒祷 

Form1.Line(FormI.Width/2,Form1.Height/2)一(x,Y),coulor 

四、游戏制作 

End Sub 

VB定时器控件和其他控件结合,可以制作简单的游戏。下面以“键盘 

三、动画制作 

输入测试”游戏为例进行介绍。此游戏的功能是:由应用程序随机抽取并 

1.进度条 显示10个字母,等待用户依次输入。当输入正确时,抽取并显示下一个随 

在VB应用程序设计中,有时需要通过进度条动画来表达一些对象的 

机字母。直到抽取十个字母,并均输入正确为止。最后弹出对话框,显示 

操作进度,如安装进度、下载进度、完成进度等等。下图为“进度条制作”的 输入速度。此程序需要用到3个公共变量,变量a来记录随机抽取出的字 

运行界面。标签控件Labell用于显示进度比例,标签控件Label2用于显示 母的ASCII值,变量S用来记录游戏开始时的系统时刻(通过S=timer(), 

标题“进度条的制作”,形状控件Shape2为进度框(其属性BackStyle的值为 

使s赋值为从午夜算起已经过的秒数),变量n用来记录抽取字母的个数。 

Transparent),形状控件Shapel为进度条(其属性Bordercolor的值 

通过窗体的KeyDown事件来记录并检测按键所对应的字母是否正确,如果 

&H00FFOOOO&,属性BackStyle的值为Opaque)。定时器控件的Interval属 正确,则设置定时器控件Timerl的Enabled属性值为True,即让定时器控件 

性值为l0,其Timer事件代码如下: 

Timerl继续下一个随机字母的抽取和显示。定时器控件Timerl的Interval 

属性应设置为1。相关代码如下: 

Public a,s,n 

Private Sub Form

Ke:cDown(KeyCode As Integer,Shitf As Integer) 

IfKeyCode:a Then 

Timer1.Enabled=True 

P=0 

Private Sub Timer1

Timer() 

EndⅡ 

Shape1.Width=Shape1.Width+l0 

End Sub 

Label1.Caption:Str(Int(Shape1.Width/Shape2.Width}100)) 

Private Sub Form

Load() 

+”%” 

S:Timer() 

If Shape1.Width>=Shape2.Width Then 

End Sub 

Timer1.Enabled=False 

Private Sub Timerl Timer() 

End If 

Randomize 

End Sub 

a=65+Int(Rnd()}26) 

2.滚动字幕 

Label1.Caption=Chr(a) 

在VB应用程序开发中,可以通过定时器控件(Timer)制作类似网页中 

n=n+1 

滚动字幕的效果。利用VB可以制作从左往右、从右往左、交替三种方式的 

Timer1.Enabled=FalSC 

滚动宇幕效果。下面以“交替”方式的滚动宇幕为例介绍滚动宇幕的制作 

fI n=10 Then 

方法。交替方式的滚动字幕就是宇幕不断地来回滚动,文字碰到页面边界 

speed=Str(Int((Timer()一S)/10}60)) 

后就向相反方向滚动。在窗体中应添加标签控件(1bael1)和定时器控件 

M。gBOX(”您的速度为”+speed+”宇/分钟”) 

(timer1)。设置标签控件labell的caption属性为“欢迎使用本软件”,设置 

End If 

定时器控件的Interval属性值为1。定义全局变量a以控制滚动的方向,相 

End Sub 

关代码如下: 

综上所述,VB定时器控件由于其具有功能灵活、易于控制、操作简单 

Public a 

等优点,在软件开发中有着广泛的应用价值。利用VB定时器控件不仅可 

Private Sub Timerl

Timer() 

以实现程序控制和动画设计的功能,还可以实现简单游戏的制作。 

If a=0 Then 

参考文献: 

Label1.Left:Label1.Left+10 

[1]林信成等.Visual Basic 6入门经典[M].北京:中国电力出版社, 

Ifk出el1.Left>=Form1.Width—Label1.Width Then a=1 

1999,10. 

End If 

[2]刘炳文.二级教程Visual Basic语言程序设计[M].北京:高等教育 

If a=1 Then 

出版社,2001,10. 

Label1.Left=Label1.Left一10 

[3]邱玉辉.Visual Basic语言程序设计[M].昆明:云南科技出版社, 

If Label1.Left<=0 Then a=0 

2002,8. 

End If 

本论文为太原大学外语师范学院“基于《计算机公共基础》的网络课程 

End SUb 

设计与研究”的课题成果。 

一 一 ~

~一 一 , ~ ~ … v一 

(上接第67页) 

[5]金积令.汉英词序对比研究句法结构中的前端重量原则和末端重 

参考文献: 

量原则[J].外国语,1998,(1):28—35. 

[1]邹智勇.左向移位结构及其语用功能[J].外语与外语教学,1998, 

[6]陆俭明.现代汉语句法论[M].北京:商务印书馆,1993. 

(12):8—1O. 

[7]Greenberg,Joseph H1 Universals of Language[M].Mass Cambridge: 

[2]Quirk,R.,S.Greenbaum,G.Leech,and J.Svartvik.A Corn- 

M.1.T.Press,1963. 

prehensivc Grammar of the English Language 

[8]Prince.E.Toward a taxonomy of given/new information[A].Bimer, 

[M].London:Longman,1985. 

1994. 

[3]Birner B J.Information Status and Word Order:an Analysis of Eng- 

[9]徐盛桓.英语倒装句研究[J].外语教学与研究,1995,(4):28—37. 

lish Inversion[J].Language,1994,70(2):233—259. [10]张克定.倒装旬的语用理据【J].外语学刊,2002,(1):68—721. 

[4]邓奇.从功能主义视角看汉语口语中的倒装句[J.吉林省教育学院 [11]张克定.Verschueren的语用理论对语用句法研究的启示[J].外 

学报,2008,(4):114一I16. 

语教学,2002,(9):1—5. 

12/2009 81 


本文标签: 控件 制作 时间 滚动 功能