1、十二、计时器计时器以一定时间周期为间隔,调用一个事件。计时器只在设计阶段出现在窗体上,运行时是不可见的,它的位置和大小无关紧要。例 41:设计一个程序,显示当前时间的数字电子表。在窗体上建立一个计时器和一个标签框。运行后就可见到数字电子表。同时在属性窗口分别设置如表:对象 属性 设置Caption 例 41Form1(窗体 1) (名称) Form1(名称) Timer1Enabled TrueTimer1(计时器 1)Interval 1000Caption(名称) Lab1BorderStyle 1Fixed SingleLabel1(标签框 1)Font 中(大小) 三号在代码窗口完成如
2、下:Private Sub Timer1_Timer()Lab1.Caption = TimeEnd SubEnabled 属性:值为 True 时,计时器使用;值为 False 时,计时器关闭。Interval 属性:设置对计时器使用调用的间隔的毫秒数,值的范围在 0 和 65535 之间。当 0 时,计时器也无效。例 42:设计一个程序,为数字电子秒表。在窗体上建立一个计时器、一个标签框和两个按钮。运行时,看到秒表时间为“00:00:00.0“及“开始计时 ”和“重置”两个按钮。当点击“开始计时”按钮,秒表就开始走了, “开始计时”按钮变成“暂停” 按钮;当点击“暂停”按钮,秒表就停走了,
3、 “暂停”按钮变成“继续” 按钮;当点击“继续”按钮,秒表就继续走了(从开始计时计算) , “继续”按钮变成“暂停” 按钮;当点击“重置”按钮,秒表就置为“00:00:00.0“, “开始计时”按钮也恢复了。同时在属性窗口分别设置如表:对象 属性 设置Caption 例 42Form1(窗体 1) (名称) Form1(名称) Timer1Enabled FasleTimer1(计时器 1)Interval 100Caption 00:00:00.0(名称) Lab1BorderStyle 1Fixed SingleLabel1(标签框 1)Font 中(大小) 三号(名称) Cmd1Comm
4、and1(命令按钮 1)Caption 开始计时(名称) Cmd2Command2(命令按钮 2)Caption 重置在代码窗口完成如下:Private Sub Cmd1_Click()If Cmd1.Caption = “开始计时“ Then Form1.Tag = TimerIf Cmd1.Caption = “暂停“ ThenCmd1.Caption = “继续“ : Timer1.Enabled = FalseElseCmd1.Caption = “暂停“ : Timer1.Enabled = TrueEnd IfEnd SubPrivate Sub Cmd2_Click()Lab1.
5、Caption = “00:00:00.0“Cmd1.Enabled = TrueCmd1.Caption = “开始计时“Timer1.Enabled = FalseEnd SubPrivate Sub Timer1_Timer()m = Timer - Form1.TagT0 = (m * 10) Mod 10m = Int(m)T1 = Format(m Mod 60, “00.“)T2 = Format(m 60) Mod 60, “00:“)T3 = Format(m 3600, “00:“)Lab1.Caption = T3 & T2 & T1 & T0End Sub这题和上题不同
6、,在运行后并没有使用计时器,只有点击“开始计时”按钮才开始使用计时器。当点击“重置”按钮才停止使用计时器。Tag 属性:设置的附加数据。例 43:设计一个流动字幕板程序。让标题“欢迎,欢迎,欢迎光临!”在窗体中自右向左地反复移动。同时在属性窗口分别设置如表:对象 属性 设置Caption 例 43Form1(窗体 1) (名称) Form1(名称) Timer1Enabled TrueTimer1(计时器 1)Interval 50Caption 欢迎,欢迎,欢迎光临!(名称) Lab1BorderStyle 1Fixed SingleLabel1(标签框 1)Font 中(大小) 36在代码
7、窗口完成如下:Private Sub Timer1_Timer()If Lab1.Left + Lab1.Width 0 ThenLab1.Move Lab1.Left - 20ElseLab1.Left = Form1.ScaleWidthEnd IfEnd Sub例 44:设计一个流动字幕板程序。让标题在窗体中自下向上地移动,标题开始为“您好,朋友。 ”,第二次向上移动时为“祝您健康。 ”,以后分别为“祝您顺利。 ”、“祝您幸福。 ”。在窗体上建立一个计时器、一个文本框。同时在属性窗口分别设置如表:对象 属性 设置Caption 例 44Form1(窗体 1) (名称) Form1(名称)
8、 Timer1Enabled TrueTimer1(计时器 1)Interval 20Caption Text1(名称) Lab1Text1(标签框 1)Font 中(大小) 四号在代码窗口完成如下:Dim i As IntegerPrivate Sub Timer1_Timer()Select Case iCase 0Txt1.Text = “您好,朋友。“Case 1Txt1.Text = “祝您健康。“Case 2Txt1.Text = “祝您顺利。“Case 3Txt1.Text = “祝您幸福。“End SelectIf Txt1.Top + Txt1.Height 0 ThenTxt1.Top = Txt1.Top - 20ElseTxt1.Top = Form1.ScaleHeighti = i + 1End IfEnd Sub习题:1设计一个程序,运行时,当点击“开始”按钮就开始计时,当到 1 分钟时就停止计时,并出现消息对话框(时间已到!) 。2将上题设计为倒计时的一个程序。3设计一个程序,为一分钟内做随机数三位数的加法,最后出现消息对话框(做多少题,对多少题) 。4将例 45 的流动字幕板程序。让标题在窗体中自上向下地移动。