应用题 2. 在考生文件夹下有一个工程文件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的值,是为了方便编辑圆向相反方向的运动过程语句。