50 Stimmen

MessageBox mit YesNoCancel - Nein & Abbrechen löst das gleiche Ereignis aus

Ich habe ein Nachrichtenfeld mit der YesNoCancel Knöpfe...

  • Drücken Sie Yes führt eine Aktion aus und schließt die Anwendung - funktioniert einwandfrei
  • Drücken Sie No tut nichts und schließt die Anwendung - (siehe unten)
  • Drücken Sie Cancel bewirkt nichts und lässt die Anwendung geöffnet - (siehe unten).

Ich benutze DialogResult.No für die No Taste und DialogResult.Cancel für die Cancel Schaltfläche. Aber das Drücken einer der beiden Tasten löst aus DialogResult.Cancel Veranstaltung. Wo liegt das Problem?

3voto

Elias Wick Punkte 463

So können Sie es ohne ein Dim , mit MessageBox.Show anstelle von MsgBox . Dies ist meiner Meinung nach die sauberste Art, es zu schreiben!

Select Case MessageBox.Show("Message", "Title", MessageBoxButtons.YesNo)
    Case vbYes
        ' Other Code goes here
    Case vbNo
        ' Other Code goes here
End Select

Sie können ihn noch weiter verkürzen, indem Sie If :

If MessageBox.Show("Message", "Title", MessageBoxButtons.YesNo) = vbYes Then
    ' Other Code goes here
End If

2voto

Suji Punkte 1298

Alarm für den Abschluss der Konformation:

Private Sub cmd_exit_click()

    ' By clicking on the button the MsgBox will appear
    If MsgBox("Are you sure want to exit now?", MsgBoxStyle.YesNo, "closing warning") = MsgBoxResult.Yes Then ' If you select yes in the MsgBox then it will close the window
               Me.Close() ' Close the window
    Else
        ' Will not close the application
    End If
End Sub

2voto

DLS Discovery Punkte 21

Ich verwende eine Ja/Nein-Abfrage wie folgt:

If MsgBox("Are you sure?", MsgBoxStyle.YesNo) <> MsgBoxResults.Yes Then
    Exit Sub
End If

0voto

Manrecky Punkte 11

Aktualisierte Antwort von Orlando und Peter.

Select Case MsgBox("Your Message", VbMsgBoxStyle.vbYesNoCancel, "caption")
                    Case VbMsgBoxResult.vbYes
                        MsgBox "Yes button"
                    Case VbMsgBoxResult.vbCancel
                        MsgBox "Cancel button"
                    Case VbMsgBoxResult.vbNo
                        MsgBox "No button"
End Select

-5voto

Tanmay Nehete Punkte 2089

Versuchen Sie dies

MsgBox("Are you sure want to Exit", MsgBoxStyle.YesNo, "")
                If True Then
                    End
                End If

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X