0

どうすれば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ただし、これにより最初のステートメントがキャンセルされ、 IsProcessRunningisTrueまたは。の場合はメッセージボックスが表示されますFalse

どうすればこれを修正できますか?前もって感謝します。

4

3 に答える 3

5

2番目を見逃したばかりです。VisualStudioEnd 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
于 2013-01-21T09:34:55.440 に答える
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
于 2013-01-21T09:36:14.840 に答える
0

他のステートメントに示されているように、Ifステートメントをネストできます。

If IsProcessRunning( "javaw")Then
    ..。
    If(result = DialogResult.Cancel)Then
        ...。
    終了する場合
終了する場合

ただし、コードと状況によっては、「スピアヘッド」になる可能性があります。多くの「入力条件」が真であることが確認された後で「実際の」コードを実行する場合は、次のいずれかを記述できます。

Sub YourSub()
    cond1の場合
        cond2の場合
            cond3の場合
                cond4の場合
                    '「実際のコード」:
                    YourCodeHere
                終了する場合
            終了する場合
        終了する場合
    終了する場合
サブ終了

これはかなり厄介になる可能性があるため、代わりにチェックを逆にすることをお勧めします。

Sub YourSub()
    'エントリー条件
    cond1でない場合は、Subを終了します
    cond2でない場合は、Subを終了します
    cond3でない場合は、Subを終了します
    cond4でない場合は、Subを終了します

    '「実際の」コード
    あなたのCodeHere
サブ終了
于 2013-01-21T13:15:31.730 に答える