Ik heb een berichtvenster met de YesNoCancel
-knoppen…
- Druk op
Yes
zal enige actie uitvoeren en de applicatie sluiten – werkt prima - Druk op
No
zal niets doen en de applicatie sluiten – (zie hieronder) - Druk op
Cancel
zal niets doen en de applicatie open houden – (zie hieronder).
Ik gebruik DialogResult.No
voor de knop Noen DialogResult.Cancel
voor de knop Annuleren. Maar als u op een van beide drukt, wordt de gebeurtenis DialogResult.Cancel
geactiveerd. Wat is het probleem?
Antwoord 1, autoriteit 100%
Dit zou goed moeten werken:
Dim result As DialogResult = MessageBox.Show("message", "caption", MessageBoxButtons.YesNoCancel)
If result = DialogResult.Cancel Then
MessageBox.Show("Cancel pressed")
ElseIf result = DialogResult.No Then
MessageBox.Show("No pressed")
ElseIf result = DialogResult.Yes Then
MessageBox.Show("Yes pressed")
End If
Antwoord 2, autoriteit 27%
Ik zie dat alle antwoorden correct zijn. Ik wil gewoon een iets ander stukje code schrijven. Naar mijn mening kun je het doen zonder een extra variabele te gebruiken om het resultaat van de dialogBox op te slaan. Kijk eens:
VB-code
Select Case MsgBox("Your Message", MsgBoxStyle.YesNoCancel, "caption")
Case MsgBoxResult.Yes
MessageBox.Show("Yes button")
Case MsgBoxResult.Cancel
MessageBox.Show("Cancel button")
Case MsgBoxResult.No
MessageBox.Show("NO button")
End Select
C#-code
switch (MessageBox.Show("Message", "caption", MessageBoxButtons.YesNoCancel))
{
case DialogResult.Yes: MessageBox.Show("Yes"); break;
case DialogResult.No: MessageBox.Show("No"); break;
case DialogResult.Cancel: MessageBox.Show("Cancel"); break;
}
Antwoord 3, autoriteit 2%
Om iets toe te voegen aan het voorbeeld van Darin, hieronder wordt een pictogram met de vakken weergegeven.
http://msdn. microsoft.com/en-us/library/system.windows.forms.messagebox(v=vs.110).aspx
Dim result = MessageBox.Show("Message To Display", "MessageBox Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
If result = DialogResult.Cancel Then
MessageBox.Show("Cancel Button Pressed", "MessageBox Title",MessageBoxButtons.OK , MessageBoxIcon.Exclamation)
ElseIf result = DialogResult.No Then
MessageBox.Show("No Button Pressed", "MessageBox Title", MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf result = DialogResult.Yes Then
MessageBox.Show("Yes Button Pressed", "MessageBox Title", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Antwoord 4, autoriteit 2%
dim result as dialogresult
result = MessageBox.Show("message", "caption", MessageBoxButtons.YesNoCancel)
If result = DialogResult.Cancel Then
MessageBox.Show("Cancel pressed")
ElseIf result = DialogResult.No Then
MessageBox.Show("No pressed")
ElseIf result = DialogResult.Yes Then
MessageBox.Show("Yes pressed")
End If
Antwoord 5, autoriteit 2%
Gebruik:
Dim n As String = MsgBox("Do you really want to exit?", MsgBoxStyle.YesNo, "Confirmation Dialog Box")
If n = vbYes Then
MsgBox("Current Form is closed....")
Me.Close() 'Current Form Closed
Yogi_Cottex.Show() 'Form Name.show()
End If
Antwoord 6, autoriteit 2%
Bevestigingswaarschuwing sluiten:
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
Antwoord 7, autoriteit 2%
De manier waarop ik een ja/nee-prompt gebruik is:
If MsgBox("Are you sure?", MsgBoxStyle.YesNo) <> MsgBoxResults.Yes Then
Exit Sub
End If
Antwoord 8, autoriteit 2%
Dit is hoe je het kunt doen zonder een Dim
, door MessageBox.Show
te gebruiken in plaats van MsgBox
. Dit is naar mijn mening de schoonste manier om het te schrijven!
Select Case MessageBox.Show("Message", "Title", MessageBoxButtons.YesNo)
Case vbYes
' Other Code goes here
Case vbNo
' Other Code goes here
End Select
Je kunt het nog verder inkorten door If
te gebruiken:
If MessageBox.Show("Message", "Title", MessageBoxButtons.YesNo) = vbYes Then
' Other Code goes here
End If
Antwoord 9
Probeer dit
MsgBox("Are you sure want to Exit", MsgBoxStyle.YesNo, "")
If True Then
End
End If