问题 问答题

完成下列问题:

考生文件夹下有一个工程文件sjt3.vbp,其中的窗体上有一个名称为Cmd的命令按钮控件数组;有一个名称为Image1的图像框。请画一个名称为Timer1的计时器,时间间隔为3s,初始状态为不可用,如图3所示。
[*]
程序功能如下:
单击“前进”按钮,则Timer1的状态变为可用,且在图像框中显示3s黄灯(图像文件为考生文件夹下的yellow.ico)后,显示绿灯(图像文件为考生文件夹下的green.ico)直至下次单击某个命令按钮。
单击“停止”按钮,则Timer1的状态变为可用,且在图像框显示3s黄灯后,显示红灯(图像文件为考生文件夹下的red.ico)直至下次单击某个命令按钮。
单击“结束”按钮,则结束程序执行。
在横线处填写正确的内容,以实现上述程序功能。
注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。
[题目提供的源程序]
Dim flag As Integer
Private Sub Cmd_Click(Index As Integer)
If Index= (1) Then
End
Else
’考生文件夹下的图片文件
Image1.Picture=LoadPicture("yellow.ico")
flag=Index
Timer1.Enabled= (2)
End If
End Sub
Private Sub Timer1_Timer()
Select Case (3)
Case 0
Image1.Picture=LoadPicture("green.ico")
Timer1.Enabled=False
Case 1
Image1.Picture=LoadPicture("red.ico")
Timer1.Enabled=False
End Select
End Sub

答案

参考答案:[操作步骤]
第1步:打开工程文件sjt3.vbp。
第2步:添加计时器控件。在窗体上画一个计时器控件,修改其Enabled属性为False,修改其Interval属性为:3000。
第3步:修改程序。
第4步:调试、运行并保存程序。
[1]2 [2]True [3]Flag

解析: 程序的思路是单击按钮组中的一个按钮后,检查被单击按钮的索引Index值,如果索引为2,即单击了“结束”按钮,则执行End语句结束程序的执行;否则,将图像框中的图片显示为“黄灯”并启动计时器,3s之后,执行计时器的Timer事件过程,在Timer事件过程中根据之前单击的按钮决定显示红灯还是绿灯,并使Timer1的状态变为不可用。因为Timer事件过程无法直接获取哪一个按钮被单击的信息,所以程序在通用栏中定义了一个的模块级变量Flag,在Cmd_Click事件过程中执行一句Flag=Index,Flag就起到了记忆并传递被单击按钮的索引的作用。

单项选择题
问答题 简答题