窗体的左右两端各有1条直线,名称分别为Linei、Line2;名称为Shapel的圆靠在左边的Linel直线上(见图);另有1个名称为Timerl的计时器控件,其Enabled属性值是True。要求程序运行后,圆每秒向右移动100,当圆遇到Line2时则停

admin2010-04-08  34

问题 窗体的左右两端各有1条直线,名称分别为Linei、Line2;名称为Shapel的圆靠在左边的Linel直线上(见图);另有1个名称为Timerl的计时器控件,其Enabled属性值是True。要求程序运行后,圆每秒向右移动100,当圆遇到Line2时则停止移动。
为实现上述功能,某人把计时器的Interval属性设置为1000,并编写了如下程序:
Private Sub Timerl Timer()
For k=Line1.Xl To Line2.X1 Step 100
If Shapel.Left+Shapel.WidthShape1.Left=Shapel.Left+100
End If
Next k
End Sub

运行程序时发现圆立即移动到了右边的直线处,与题目要求的移动方式不符。为得到与题目要求相符的结果,下面修改方案中正确的是

选项 A、把计时器的Interval属性设置为1
B、把For k=Linel.X1 To Line2.Xl Step 100和Next k两行删除
C、把For k=Line!.X1 T0 Line2.XI Step 100改为For k=Line2.X1 T0 Linel.Xl Step 100
D、把IfShapel.Left+Shapel.Width

答案B

解析 Timer1中用了一个循环,只要圆没有到最右边的直线Line2处,这个圆就会一直向右移动。但因为Timerl中本来已经通过设置。Interval属性来控制循环,Timer事件中的循环重复了,所以答案为B)。
转载请注明原文地址:https://jikaoti.com/ti/N6g0FFFM
0

最新回复(0)