Wie kann ich Message Box Antwortbeispiel behandeln, wenn der Benutzer auf Ja klicken, etwas tun, wenn der Benutzer auf NO klicken, etwas anderes tun?Handle Antwort von Meldungsfeld C#
Antwort
Beispiel (leicht modifiziert) aus the docs:
const string message =
"Are you sure that you would like to close the form?";
const string caption = "Form Closing";
var result = MessageBox.Show(message, caption,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
// If the no button was pressed ...
if (result == DialogResult.No)
{
//Do something for No
}
else if (result == DialogResult.Yes)
{
//Do something else for Yes
}
Nachtrag: Für den Fall, dass Sie immer noch sind auf .NET 2.0 und haben keinen Zugriff auf die var
Stichwort, erklären result
als DialogResult
. Dh:
DialogResult result = MessageBox.Show(...);
Verpasste die Tatsache, dass diese mit WPF markiert wurde, so dass, wenn Sie verwenden, dass dann würden Sie das leicht werden (aber nicht zu viel) unterschiedliche System.Windows.MessageBox Klasse anstelle des Systems. Windows.Forms.MessageBox. Die Interaktion ist weitgehend die gleiche, verwendet aber auch die MessageBoxResult enum anstelle von DialogResult, die MessageBoxImage enum anstelle von MessageBoxIcon, und die MessageBoxButton enum anstelle von MessageBoxButtons (Plural). Sie sollten so etwas wie diese in der Lage sein zu tun:
const string message =
"Are you sure that you would like to close the form?";
const string caption = "Form Closing";
MessageBoxResult result = MessageBox.Show(message, caption,
MessageBoxButton.YesNo,
MessageBoxImage.Question);
if (result == MessageBoxResult.No)
{
// Do something for No
}
else if (result == MessageBoxResult.Yes)
{
// Do something else for Yes
}
Sie sollten versuchen, google oder msdn (die Links sind anklickbar).
Wie auch immer, Sie sollten den Wert des messageboxresult überprüfen, das von der show-Methode zurückgegeben wird. http://msdn.microsoft.com/en-us/library/ms598674.aspx
Hier ist ein Beispiel:
DialogResult userSelection = MessageBox.Show("Some question","Question",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
// Do something with userSelection
DialogResult result = MessageBox.Show("Some Text", "Title", MessageBoxButtons.YesNoCancel);
if(result == DialogResult.Yes)
{
// do something
}
Da der Tag heißt es WPF und NICHT WinForms, müssen Sie etwas tun, wie dies für eine MessageBox:
MessageBoxResult result = MessageBox.Show("Foo Bar?", "Confirmation", MessageBoxButton.YesNoCancel);
if (result == MessageBoxResult.Yes)
{
// yeah yeah yeah stuff
}
else if (result == MessageBoxResult.No)
{
// no no no stuff
}
else
{
// forget about it
}
Zusätzlich werden die Dialoge w ith anders in WPF als auch beachten, das Fehlen von DialogResult
:
SomeDialog dialog = new SomeDialog();
dialog.ShowDialog();
if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
MessageBox.Show("Clicked ok");
else
MessageBox.Show("Clicked cancel");
Child die in WPF sind asynchrone Aktionen. Sie müssen das Close-Ereignis behandeln, und in Ihrem Close-Event können Sie dann Ihre Logik ausführen.
Das beste für mich ist
if (MessageBox.Show("Are you sure you want to close the window ?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No)
{
//do NO stuff
}
else
{
//do YES stuff
}
- 1. Handle JSON Antwort von Webservice mit httpurlconnection
- 2. asp.net MVC Handle Partial Postback Antwort
- 3. Handle zu Fenstergriff (c)
- 4. Safe Handle in C#
- 5. Styling-Meldungsfeld
- 6. Handle DBNull in C#
- 7. Handle C# Listener
- 8. WinForms-Meldungsfeld mit Textschaltflächen
- 9. Meldungsfeld verursacht Fokusverlust
- 10. Wie Wert von SQL-Abfrage im Meldungsfeld
- 11. Batchdatei-Meldungsfeld: Wagenrücklauf im Nachrichtentext
- 12. Meldungsfeld für doppelte Einträge
- 13. Handle verschiedene Anwendung mit C++
- 14. Handle eine 500-Antwort mit dem Abruf api
- 15. Anzeigen von COUNTIF-Ergebnissen in einem Meldungsfeld
- 16. Handle JSON-Objekt in XMLHttp Antwort in Excel VBA-Code
- 17. Get-Instanz von Excel-Anwendung mit C# von Handle
- 18. Handle Fehler von Unresponsive Skript von Javascript oder C# -Code
- 19. HANDLE in Handle umwandeln
- 20. Ja/Nein-Meldungsfeld mit QMessageBox
- 21. Meldungsfeld mit Bild und Texteingabe
- 22. Unerwünschte Eingabe Parameter Wert Meldungsfeld
- 23. C# -Fenster Formular Überprüfung aller Einträge dann Meldungsfeld
- 24. Was ist ein Handle in C++?
- 25. Console-like Meldungsfeld in XAML
- 26. WPF: Meldungsfeld mit Checkbox hinzugefügt
- 27. Das zweite Wort Meldungsfeld zeigt
- 28. Handle CTRL-C in Python-Cmd-Modul
- 29. C++ Handle aus dem Prozess ohne OpenProcess()
- 30. C, wie sqlite3 Datenbank-Handle zu übertragen
Dialogresult aus einer WPF-Haltung ist nicht korrekt, meine Antwort sehen ... –