课题:定时器循环
教学要求:了解VB中的定时器,并会利用定时器实现循环结构。
教学重点与难点:定时器的两个重要属性
教学方法:教师操作演示,学生观察总结。任务驱动、启发式教学、边讲解边操作。
教学过程:
【新课导入】
电脑的屏幕保护程序。运行桌面上的几个小例子后,大家有没有发现有一个共同的特征?<提问:>
【新课教学】
VB的工具箱中有一个定时器控件可以帮助我们实现这种循环。
<板
:>定时器循环<演示:>
首先,在定时器对象中存放需要重复执行的程序,定时器工作时,每经过一定时间间隔就触发存放在定时器对象中的程序而形成循环。
定时器的两个重要属性是“Enabled”和“Interval”。<板书:>当“Enabled”的属性为“True”时,定时器开始工作;属性为“False”时,定时器停止工作。“Interval”属性决定了定时器对象中程序的时间间隔,,它的取值范围为0~65535(单位:毫秒)。
一、“倒计时”程序
(1)程序功能
<演示:>运行“倒计时”程序。在文本框中输入开始倒计时的秒值,再单击“开始”按钮,开始倒计时。下面,我们就利用定时器来完成这个“倒计时”程序。(把教材翻到39页,图3.3-7,定时器的界面)
(2)
界面和原理
<提问:>程序界面上有哪些对象?有一个文本框(TextBox)用来输入要倒计时的秒数、一个标签(Label)显示单位,两个按钮(CommandButton)用来开始倒计时和结束整个程序。这个程序的主角是谁呢?定时器(Timer)(下面我们就要让这个主角上场了)
(打开半成品)向窗体中添加一个定时器对象“Timer1”(<提问:>在工具箱的哪里可以找到?忘记的话可以看书本39页)。先将定时器处于关闭状态,检查“Enabled”属性是否为False”。(<提问:>还有一个属性是什么?时间间隔)将“Timer1”的“Interval”属性设置为“1000”(什么意思?)
单击“开始”按钮,就将文本框中的值存入变量i,再将定时器对象“Timer1”的“Enabled”属性设置为“True”,定时器开始工作。
<提问:>定时器每隔1秒,就使变量i中的值减少1,可以用什么表达式来表示数字的逐一递减?(i=i-1)<板书:>。也就是定时器每隔1秒,执行一次i=i-1。<提问:>并将变量i中的值显示在文本框中,怎么表示?(Text1.Text = i) <板书:>。当变量i中的值减到0时,将对象“Timer1”的“Enabled”属性设置为“False”,定时器停止工作。
(2)程序源码<演示:>
Dim i As Integer '定义一个存放倒计时开始秒数的整型变量
Private Sub Command1_Click()
i = Text1.Text '将文本框对象中输入的秒值赋给变量i
Timer1.Enabled = True '使定时器开始工作
End Sub
Rem 定时器对象中的程序段
Private Sub Timer1_Timer()
i = i - 1 '秒数递减
Text1.Text = i '将递减后的数值显示在文本框中
<提问:>(如果不打以下语句会怎样?用倒计时3秒演示)If i = 0 Then Timer1.Enabled = False '当秒值递减到0时,关闭定时器,结束循环。
End Sub
1
Private Sub Command2_Click()
End
End Sub
学生练习:
下发“倒计时半成品”,学生完成。
<演示:>PPT(倒计时程序的关键点)。程序做完了,大家对定时器有了一定的认识了吧。像这种每隔一段时间需要自动运行的并且重复执行的程序段,我们可以把它们放进定时器,让定时器来帮我们掌握时间、控制循环。下面我们再来另外一个例子。
二、“动画”程序
<演示:>运行“动画”程序。思考以下问题:
明明给了30张静止的图片,为什么单击“开始”按钮里面的人就会动起来呢?(每隔0.2秒切换一张图片,利用人眼的“视觉暂留”原理,形成连续的动态效果)
谁来控制这0.2秒的时间间隔呢?(定时器)
准备知识:
Image1.Picture = LoadPicture("tiger.jpg") <提问:>
Image1.Picture = LoadPicture(x & ".jpg") '将序号为x的图形送入Image对象
Timer1中的循环体:
x = x + 1
If x > 30 Then x = 1
Image1.Picture = LoadPicture(x & ".jpg")
<演示:>打开“动画”程序
,分析界面和代码。其中Image1好像凹进去的,这种边缘样式在哪里设置?(教材翻到41页BorderStyle设置属性值为1)
<提问:>做好程序后,有些同学会发现提示“未找到1.jpg”,这是为什么?(必须把所有图片放在与工程的相同
下)
最后提醒大家,千万别忘记设置定时器的“Interval”属性(时间间隔)。
好了,给大家30张图片你可以编写一个“动画”程序了,那如果我给你110张图片你也会利用定时器让动画动起来吗?需要在程序的哪里修改一下呢?<提问:>
<演示:>“一周表情”exe文件。
学生练习:
下发“一周表情半成品”,参考教材P.40“动画”程序,完成“一周表情”程序。
点评作业
【小结】
本节课了解了VB中的定时器,并会利用定时器实现循环结构。在定时器对象中存放需要重复执行的程序,定时器工作时,每经过一定时间间隔就触发存放在定时器对象中的程序而形成循环。定时器的两个重要属性是“Enabled”和“Interval”。
2