在考生文件夹下有一个工程文件sjt4.vbp,窗体中有一个矩形和一个圆,程序运行时,单击“开始”按钮,圆可以横向或纵向运行(通过选择单选按钮来决定),碰到矩形的边时,则向其相反方向运动,单击“停止”按钮,则停止运动,如图所示。可以通过选择单选按钮随时改变运动方向。
【正确答案】[操作步骤]
步骤1:打开本题工程文件。
步骤2:打开代码编辑窗口,去掉程序中的注释符“'”,将问号改为正确的内容。
Dim d As Integer
Private Sub Command1_Click()
Timer1.Enabled=True '当单击"开始"按钮时,Timer生效
End Sub
Private Sub Command2_Click()
Timer1.Enabled=False '当单击"停止"按钮时,Timer失效
End Sub
Private Sub Form_Load()
d=1
End Sub
Private Sub Timer1_Timer()
If Option1 Then '判断Option1是否被单击
Shape2.Top=Shape2.Top+d*50 '实现圆垂直移动
If Shape2.Top <=Shape1.Top Or Shape2.Top+Shape2.Width >=Shape1.Top+Shape1.Height Then '判断Shape2与Shape1的位置
d=-d '当圆移出Shape1时,改变移动方向
End If
ElseIf Option2 Then
Shape2.Left=Shape2.Left+d*50 '实现水平移动
If Shape2.Left <=Shape1.Left Or Shape2.Left+Shape2.Width >=Shape1.Left+Shape1.Width Then
d=-d '当圆移出Shape1时,则改变移动方向
End If
End If
End Sub
步骤3:调试并运行程序,关闭程序后按题目要求存盘。
【答案解析】[考点] 本题考点有:计时器的Enabled属性,形状控件的Top、Left和Width属性以及If选择判断语句。
[解析] 在Timer1_Timer事件过程中,通过判断单选按钮“纵向”或“横向”是否被选中来决定圆运动的方向,如果是纵向,则通过Shape2的Top和Width属性值的改变实现圆的移动,并通过判断Top属性值来确定是否到达上或下界,使圆向相反方向运动。如果是横向,则通过Shape2的Left和Width属性值的改变实现圆的移动。在Command2_Click事件过程中通过将Timer1的Enabled属性设置为False,使圆停止运动,在Command1_Click事件过程中通过将Timer1的Enabled属性设置为True,使圆开始运动。
在窗体载入时设置d的值,是为了方便编辑圆向相反方向的运动过程语句。