首页 > 电脑

VBendif没有块if

更新时间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这个东西!

上一篇:=VLOOKUP(D10,$D$54:$E86$,2)其中D10是24,D54是0,E86是1296

下一篇:inti=1;printf("%d",++i)这个输出是多少