窗体的左右两端各有一条直线,名称分别为Line1、Line2;名称为Shape1的圆靠在左边的Line1直线上(见下图);另有1个名称为Timer1的计时器控件,其Enabled属性值是True。要求程序运行后,圆每秒向右移动100,当圆遇到Line2时则停止移动。为实现上述功能,某人把计时器的Interval属性设置为1000,并编写了如下程序:
Private Sub Timer1_Timer()
For k=Lind1.X1 To Line2.X1 Step 100
If Shape1.Left+Shape1.width<Line2.X1 Then
Shape1.Left=Shape1.Left+100
End If
Next k
End Sub
运行程序时发现圆立即移动到了右边的直线处,与题目要求的移动方式不符。为得到与题目要求相符的结果,下面修改方案中正确的是( )
A.把计时器的Interval属性设置为1
B.把For k=lind1.X1 To Line2.X1 Step 100和Next k两行删除
C.把For k=Line1.X1 To Line2.X1 Step 100改为For k=Line2.X1 To Line1.X1 Step 100
D.把If Shape1.Left+Shepe1.Width<Line2.X1 Then改为If Shape1.Left<Line2.X1 Then
参考答案:B
解析: 计时器的Interval属性为计时器记时间隔,具有自动触发的功能,每一次触发都会调用Timer事件(实现类似循环的效果),所以不应该再在里面写上该For循环。