问答题

在考生文件夹下有一个过程文件sjt5.vbp,窗体上有两个图片框,名称为P1、P2,分别用来表示信号灯和汽车,其中在P1中轮流装入“黄灯.ico”、“红灯.ico’、“绿灯.ico”文件来实现信号灯的切换;还有两个计时器Timer1和Timer2,Timer1用于变换信号灯,黄灯1秒,红灯2秒,绿灯3秒;Timer2用于控制汽车向左移动。运行时,信号灯不断变换。单击“车按”按钮后,汽车开始移动,如果移动到信号灯前或信号灯下,遇到红灯或黄灯,则停止移动,当变为绿灯后再继续移动。 在窗体中已经给出了全部控件和程序,但程序不完整,要求阅读程序并去掉程序中的注释符,把程序中的改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性。最后把修改后的文件以原文件名存盘。 sjt5.frm文件内容如下: Dim a%,b As Boolean Private Sub C1_Click() ’ Timer2.Enabled= b=True End Sub Private Sub Timer1_Timer() a=a+1 If a>6 Then a=1 End If Select Case a Case 1 P1.Picture=LoadPicture("黄灯.ico" ) Case 2,3 P1.Picture=LoadPicture("红灯.ico") Case 4,5,6 ’ P1.Picture=LoadPicture("") If b Then Timer2.Enabled=True End Select End Sub Private Sub Timer2_Timer() If (a<4) And (P2.Left>P1.Left And P2.Left<P1.Left+P1.Width) Or P2.Left<=100 Then ’ Timer2.Enabled= Else ’ P2.Move —10,P2.Top,P2.Width,P2.Height End If End Sub

【参考答案】

① 对象主要属性设置如表4所示。
表 4
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
在考生文件夹下有一个工程文件sjt3.vbp,它的功能是在文本框中输入一个整数,单击“移动”按钮后,如果输入的是正数,滚动条中的滚动框向右移动与该数相等的刻度,但如果超过了滚动条的最大刻度,则不移动,并且显示“文本框中的数值太大”;如果输入的是负数,滚动条中的滚动框向左移动与该数绝对值相等的刻度,但如果超过了滚动条的最小刻度,则不移动,并且显示“文本框中的数值太小”。如图2—1所示。要求:去掉程序中的注释符,把程序中的改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性。最后把修改后的程序以原来的文件名存盘。2.在考生文件夹下有一个工程文件sjt4.vhp,相应的窗体文件为sjt4.frm。在窗体上有2个命令按钮、1个标签和1个计时器,其名称分别为Command1、Command2、Label1和Timer1,如图2—2所示。程序运行后,在命令按钮Command1中显示“开始”,在命令按钮Command2中显示“停止”,在标签中用字体大小为16的粗体显示“热烈欢迎”(标签的AutoSize属性为True),同时把计时器的Interva1属性设置为50,Enabled属性设置为 False。此时如果单击“开始”命令按钮,则该按钮变为禁用,标题变为“继续”,同时标签自左至右移动,每个时间间隔移动20,如图2—3所示,移动出窗体右边界后,自动从左边界开始向右移动;如果单击“停止”命令按钮,则该按钮变为禁用,“继续”命令按钮变为有效,同时标签停止移动;再次单击“继续”命令按钮后,标签继续移动。这个程序不完整,请把它补充完整,并能正确运行。要求:去掉程序中的注释符,把程序中的“”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。试题所提供的程序如下:Private Sub Form Load()Command1.Caption= 开始 Command2.Caption= 停止 Timer1.Interval=50Timer1.Enabled=FalseLabel1.Caption= 热烈欢迎 Label1.AutoSize=TrueLabel1.FontSize=16Label1.FontBold=TrueEnd SubPrivate Sub Command1_Click()Command1.Caption= 继续 ’Timer1.Enabled=Command1.Enabled=FalseCommand2.Enabled=TrueEnd SubPrivate Sub Command2_Click()’Timer1.Enabled=Command2.Enabled=FalseCommand1.Enabled=TrueEnd SubPrivate Sub Timer1_Timer()If Label1.Left<Width Then’Label1.Left=Else’Label1.Left=End IfEnd Sub