if else,else前面语句执行完刚好符合else后面语句执行条件,会否立即执行?

还是要等到下一次事件发生才执行啊?

不会立即执行。请参考MSDN的下述解释:
当程序运行到一个 If 块时,condition 将被测试。如果 condition为 True,则在 Then 之后的语句会被执行。如果 condition 为 False,则每个 ElseIf 部分的条件式(如果有的话)会依次计算并加以测试。如果找到某个为 True 的条件时,则其紧接在相关的 Then 之后的语句会被执行。如果没有一个 ElseIf 条件式为 True(或是根本就没有 ElseIf 子句),则程序会执行 Else 部分的语句。而在执行完 Then 或 Else 之后的语句后,会从 End If 之后的语句继续执行。(请注意这最后一句)

下面的例子也可以证明:

Dim s as long
s = 3
If s = 3 Then
MsgBox s
s = 4
ElseIf s = 4 Then
MsgBox s
s = 5
Else
MsgBox s
End If
运行后只会触发第一个条件。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-07
VB不会...VC和其他一些语言会执行
如果硬要执行的话可以加标签再调用Else里面的内容