更新时间2018-03-06 20:01:46
源代码如下:(在第4行出现错误)
Private Sub Timer2_Timer()
a = Val(Label2.Left)
b = Val(Label2.Top)
Label2.Left = a + 100
If Label2.Left = Label14.Left Then GoTo dd:
End If
If Label2.Top = Label11.Top Then GoTo bb:
End If
If Label2.Left = Label5.Left Then GoTo bb:
End If
If Label2.Top = Label3.Top Then GoTo cc:
End If
If Label2.Left = Label7.Left Then GoTo dd:
End If
If Label2.Top = Label8.Top Then GoTo aa:
End If
If Label2.Left = Label5.Left Then GoTo dd:
End If
If Label2.Top = Label11.Top Then GoTo cc:
End If
If Label2.Left = Label15.Left Then GoTo bb:
End If
If Label2.Top = Label10.Top Then
MsgBox "电脑胜利!"
Label12.Caption = "电脑胜利!"
Timer2.Enabled = False
End If
aa:
Label2.Left = a + 100
bb:
Label2.Top = b - 100
cc:
Label2.Left = a - 100
dd:
Label2.Top = b + 100
End Sub
VB的IF语句有几种写法:
1、IF 条件 Then 结果;
你的属于,这种所以无需在后面再加End IF
2、这种才需要End IF
IF 条件 Then
结果
End IF
3、
IF 条件 Then
结果
Else
条件不成立的结果
End IF
4、
IF 条件1 Then
结果1
ElseIF 条件2 Then
结果2
[ElseIF 条件n Then
结果n]
[Else
所有条件不成立的结果]
End IF
中括号内为可选项。
明白了吗,你的代码属于第一种情况,故而必须不能在下面写End IF。
不建议使用GoTo语句,这样跳转很容易把程序逻辑弄混淆掉。
建议你把GoTo后的处理过程,都改成函数,然后判断条件进行判断了以后直接调用函数,进行后续的处理。
另外,建议最好完全忘记掉GoTo这个东西!