应用题 2. 在考生文件夹下有一个工程文件sjt4.vbp,其窗体上有一个由八个图片框控件组成的控件数组、两个命令按钮及一个计时器控件,如图1所示。
    程序功能:
    将计时器控件没置为每隔0.5秒触发一次Timer事件。运行程序时,只显示下标为0的图片框控件数组元素,其他图片框均不可见。单击“开始”按钮,数组中的每个图片框自左至右依次显示,时间间隔为0.5秒,产生“月亮”从左向右移动的效果,如图2所示。月亮移到右端后再从左端重新开始。单击“停止”按钮,“月亮”停止移动。
    要求:按照题目要求设置控件属性,去掉程序中的注释符,把程序中的?改为正确的内容。
    注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。
   
【正确答案】【操作步骤】
   步骤1:打开本题工程文件,将Timer1的Interval属性设置为500。
   步骤2:打开代码编辑窗口,去掉程序中的注释符“'”,将问号改为正确的内容。
   参考答案(字体加粗部分是需考生填入的内容)
   Private Sub Form_Load()
   Picture1(0).Left=0
   Picture1(0).Top=100
   For k=1 TO 7
   Picturel(k).visible=False 当窗体装载时,下标为1~7的图片都不显示
   Next
   End Sub
   Private Sub Command1_Click()
   Timer1. Enabled=True '单击Comand1按钮,Timer事件触发
   End Sub
   Private Sub Command2_Click()
   Timer1.Enabled=False
   End Sub
   Private Sub Timer1_Timer()
   Statlc 1 As Integer
   Picture1(i).Visible=False
   i=i+1
   If i=8 Then '判断图片是否执行到最后一张
   i=0 '重置i值
   Enci If
   Picturel(i).Visible=True
   End Sub
   步骤3:调试并运行程序,关闭程序后按题目要求存盘。
   【易错提示】变量i要定义成局部变量才能使“月亮”移到右端后再从左端重新开始,如果不设置计时器控件的Interval属性,则计时器不会起作用,编程的时候要注意。
   
【答案解析】[考点] 本题考点有:计时器的Interval和Enabled属性,图片框的Left、Top、Visible属性,Static局部变量定义,For循环语句以及If判断语句。
首先将Timer1的Interval属性设置为500,使计时器控件设置为每隔0.5秒触发一次。在Form_Load事件过程中,通过图片框Visible属性设置只显示下标为0的图片框控件数组元素,其他下标为1~7的图片框均不显示。单击“开始”按钮,计时器的Enabled属性设置为True,Timer1_Timer事件启动,运用循环语句将数组中的每个图片框自左向右依次显示,产生“月亮”从左向右移动的效果,循环变量设置为局部变量Static,使“月亮”移到右端后再从左端重新开始。单击“停止”按钮,“月亮”停止移动。