Visual Basic程序设计沈祥玖电子教案 4.3 定时器.docVIP

Visual Basic程序设计沈祥玖电子教案 4.3 定时器.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档