如何将If
置于另一个If
内?
这是我的代码:
If IsProcessRunning("javaw") = True Then
Dim result = MessageBox.Show("message", "caption", MessageBoxButtons.OKCancel)
If (result = DialogResult.Cancel) Then
MessageBox.Show("Cancel pressed")
ElseIf (result = DialogResult.OK) Then
MessageBox.Show("Ok pressed")
End If
这给了我错误:我应该在End If
行之后添加if IsProcessRunning()
。
但是,这将取消第一个If
语句,如果IsProcessRunning
为True
或False
,则会显示消息框。
我该如何解决这个问题?在此先感谢。
答案 0 :(得分:5)
你错过了第二个End If
,你不必把它放在Visual Studio告诉你的地方,你只需要确保它在那里:
If IsProcessRunning("javaw") = True Then
Dim result = MessageBox.Show("message", "caption", MessageBoxButtons.OKCancel)
If (result = DialogResult.Cancel) Then
MessageBox.Show("Cancel pressed")
ElseIf (result = DialogResult.OK) Then
MessageBox.Show("Ok pressed")
End If
End If
答案 1 :(得分:1)
If IsProcessRunning("javaw") = True Then
Dim result = MessageBox.Show("message", "caption", MessageBoxButtons.OKCancel)
If (result = DialogResult.Cancel) Then
MessageBox.Show("Cancel pressed")
ElseIf (result = DialogResult.OK) Then
MessageBox.Show("Ok pressed")
End If
End If
答案 2 :(得分:0)
如其他语句所示,您可以嵌套If语句,即
If IsProcessRunning("javaw") Then ... If (result = DialogResult.Cancel) Then .... End If End If
根据您的代码和情况,您可能最终得到一个“矛头”:如果您想要在检查了许多“条目条件”后运行“真实”代码,您可以写:< / p>
Sub YourSub() If cond1 Then If cond2 Then If cond3 Then If cond4 Then '"real code": YourCodeHere End If End If End If End If End Sub
因为这可能会变得非常混乱,所以建议改用支票,即:
Sub YourSub() 'Entry conditions If Not cond1 Then Exit Sub If Not cond2 Then Exit Sub If Not cond3 Then Exit Sub If Not cond4 Then Exit Sub '"real" code Your CodeHere End Sub