如果放入if(VB)怎么办?

时间:2013-01-21 09:33:13

标签: vb.net

如何将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语句,如果IsProcessRunningTrueFalse,则会显示消息框。

我该如何解决这个问题?在此先感谢。

3 个答案:

答案 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