- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.3 定时器(Timer)
定时器(Timer)可以实现每隔一定的时间间隔就触发一次Timer事件,从而执行相应的代码。利用定时器,可以制作动画、定期执行某个特定操作或实现计时。
Timer控件有时被译为计时器或时钟。正如某些自鸣钟可以每隔一小时就触发“整点报时”事件一样,定时器也能每隔一定时间就触发一个事件;而且他还可以用Interval属性来设置间隔时间的长短,在Timer事件里编写不同代码用来实现不同功能。
4.3.1 属性与事件
(1)Interval属性
作用:设置触发定时器Timer事件的间隔时间。
范围:0~65,535毫秒(1毫秒=0.001秒)
说明:缺省值为0,即定时器控件不起作用;最大值为65,535,即65秒多。
如果希望每秒触发n个Timer事件,则应设置属性Interval的值为1000 / n。但不要奢望设置为1时,会每秒产生1000个事件。由于大多数个人计算机系统硬件的限制,定时器每秒钟最多可产生的Timer事件在18个左右;也就是说,实际最小间隔时间大约在56毫秒上下。所以,若将Interval属性值设为比56小的数,可能不会产生预期效果。
(2)Timer事件
在由Interval属性设定的时间间隔过去之后触发,执行相应代码。
运行时,定时器不可见,所以他没有Click等事件,Timer事件是定时器唯一的事件。
Timer事件的触发,有二个前提:一是Timer控件的Enabled属性被设置为True,二是Interval属性大于0。
4.3.2 应用举例
【例4.3】设计程序,演示定时器的动画、计时功能。
分析:动画功能,可以设置定时器控件Interval属性为较小值,以及在Timer事件中使图像框在不同时段加载不同图形来实现。而要在同一事件过程中判断加载不同图形,需要第五章中if语句的相关知识,但我们可以殊途同归的用二个定时器来实现。在第三个计时器的事件中用Time函数获取系统时间,再显示在标签控件中,可实现计时。(如图4-4所示)
(a)设计状态 (b)动画图一 (c)动画图二 图4-4 例4.3程序界面 (1)界面设计
在窗体上添加三个图像框(Image2、Image1、Image3)、三个定时器、一个标签,大小及位置可参考图4-4。
(2)编写代码
依次双击窗体和三个定时器控件,输入代码如下。
Private Sub Form_Load() 程序启动时,装载图形,设置Interval属性值
Image2.Picture = LoadPicture(C:\VB\Face02.ico)
Image3.Picture = LoadPicture(C:\VB\Face03.ico)
Image1.Picture = Image2.Picture 使Image1拥有同Image2一样的图形
Timer1.Interval = 500 设置Timer1每隔0.5秒触发一个Timer事件
Timer3.Interval = 100 设置Timer3每隔0.1秒触发一个Timer事件
End Sub
Private Sub Timer1_Timer()
Image1.Picture = Image3.Picture 使Image1显示Image3中的图形
Timer1.Interval = 0 使Timer1不起作用
Timer2.Interval = 500 设置Timer2每隔0.5秒触发一个Timer事件
End Sub
Private Sub Timer2_Timer()
Image1.Picture = Image2.Picture 使Image1显示Image2中的图形
Timer2.Interval = 0 使Timer2不起作用
Timer1.Interval = 500 设置Timer1每隔0.5秒触发一个Timer事件
End Sub
Private Sub Timer3_Timer() Timer3的Timer事件,每隔0.1秒执行一次
Label1.Caption = Time 将Time函数返回的系统时间显示在标签中
End Sub
按F5运行程序,程序界面如图4-4(a)、(b)所示。在电脑中可以看到,大约每隔半秒,中间的(Image1)图形就在“闭嘴微笑”和“开口大笑”之间进行转换,并由于视觉的残留现象而形成动画。电影就是以24格/秒(以前是16格/秒)的速度播放相近的图形而给我们“动”的感觉。在实现动画的同时,程序会按“时:分:秒”的格式显示当前系统时间。
想一想:
(a)系统时间按秒变化,Timer3的Interval属性为什么设置为100而不是1000呢?
假设将Interva
您可能关注的文档
- Visual Basic程序设计教程 教学课件 作者 李雁翎 周东岱 潘伟 yl _7.ppt
- Visual Basic程序设计教程 教学课件 作者 李雁翎 周东岱 潘伟 yl _8.ppt
- Visual Basic程序设计教程 教学课件 作者 李雁翎 周东岱 潘伟 yl _9.ppt
- Visual Basic程序设计教程 教学课件 作者 李雁翎 周东岱 潘伟 yl _10.ppt
- Visual Basic程序设计教程 教学课件 作者 李雁翎 周东岱 潘伟 yl _11.ppt
- Visual Basic程序设计教程 教学课件 作者 李雁翎 周东岱 潘伟 yl _12.ppt
- Visual Basic程序设计教程 教学课件 作者 李雁翎 周东岱 潘伟 yl _13.ppt
- Visual Basic程序设计教程 教学课件 作者 李雁翎 周东岱 潘伟 yl _14.ppt
- Visual Basic程序设计教程 教学课件 作者 李雁翎 周东岱 潘伟 yl _15.ppt
- Visual Basic程序设计教程 第2版 教学课件 作者 刘瑞新 电子教案 第1章 Visual Basic 程序设计概述.ppt
- Visual Basic程序设计沈祥玖电子教案 4.4 单选钮.doc
- Visual Basic程序设计沈祥玖电子教案 4.5 复选框.doc
- Visual Basic程序设计沈祥玖电子教案 4.6 列表框.doc
- Visual Basic程序设计沈祥玖电子教案 4.7 组合框.doc
- Visual Basic程序设计沈祥玖电子教案 4.8 框架.doc
- Visual Basic程序设计沈祥玖电子教案 4.9 多窗体.doc
- Visual Basic程序设计沈祥玖电子教案 第1章 概述.ppt
- Visual Basic程序设计沈祥玖电子教案 第2章 数据与表达式.ppt
- Visual Basic程序设计沈祥玖电子教案 第3章程序设计初步.ppt
- Visual Basic程序设计沈祥玖电子教案 第5章 选择结构程序设计.ppt
文档评论(0)