Wie erstelle ich ein Meldungsfenster mit „Ja“, „Nein“ Auswahl und ein Dialogresult?
-
27-09-2019 - |
Frage
Ich will make einfaches Ja / Nein choiced MessageBox, aber ich denke, dass es Unsinn ist, eine Form für das Design. Ich dachte, ich MessageBox, Add Buttons, etc. verwenden könnte dies zu erreichen. Es ist einfach, aber da es keine Dialogresult zurückgegeben, wie rufe ich das Ergebnis?
Lösung
Das sollte es tun:
DialogResult dialogResult = MessageBox.Show("Sure", "Some Title", MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
//do something
}
else if (dialogResult == DialogResult.No)
{
//do something else
}
Andere Tipps
DialogResult dr = MessageBox.Show("Are you happy now?",
"Mood Test", MessageBoxButtons.YesNo);
switch(dr)
{
case DialogResult.Yes:
break;
case DialogResult.No:
break;
}
MessageBox Klasse ist, was Sie suchen.
MessageBox.Show(title, text, messageboxbuttons.yes/no)
Das gibt ein Dialogresult, die Sie überprüfen können.
Beispiel:
if(MessageBox.Show("","",MessageBoxButtons.YesNo) == DialogResult.Yes)
{
//do something
}
Die MessageBox hat produzieren eine DialogResults
DialogResult r = MessageBox.Show("Some question here");
Sie können auch die Tasten leicht genug angeben. Weitere Dokumentation finden Sie unter http://msdn.microsoft.com/en-us finden /library/ba2a6d06.aspx
Verwendung:
MessageBoxResult m = MessageBox.Show("The file will be saved here.", "File Save", MessageBoxButton.OKCancel);
if(m == m.Yes)
{
// Do something
}
else if (m == m.No)
{
// Do something else
}
ist MessageBoxResult auf Windows Phone verwendet statt Dialogresult ...
Sie können auch diese Variante mit Text-Strings verwenden, hier ist der komplette geändertene Code (Code von Mikael), getestet in C # 2012:
// Variable
string MessageBoxTitle = "Some Title";
string MessageBoxContent = "Sure";
DialogResult dialogResult = MessageBox.Show(MessageBoxContent, MessageBoxTitle, MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
//do something
}
else if (dialogResult == DialogResult.No)
{
//do something else
}
Sie können nach
.YesNo
Legen Sie eine Nachrichtensymbol
, MessageBoxIcon.Question
Antwort @Mikael Svenson ist korrekt. Ich wollte nur einen kleinen Zusatz, um es hinzuzufügen:
Die Messagebox Symbol kann auch enthalten sein, hat eine zusätzliche Eigenschaft wie folgt:
DialogResult dialogResult = MessageBox.Show("Sure", "Please Confirm Your Action", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
dynamic MsgResult = this.ShowMessageBox("Do you want to cancel all pending changes ?", "Cancel Changes", MessageBoxOption.YesNo);
if (MsgResult == System.Windows.MessageBoxResult.Yes)
{
enter code here
}
else
{
enter code here
}
detailliertes Prüfen von hier
Mit diesem einfachen Code für mich gearbeitet. Ich packte es aus MSDN hier:
if (System.Windows.Forms.MessageBox.Show
("Are you sure you want to add the audit?", "Add",
System.Windows.Forms.MessageBoxButtons.YesNo,
System.Windows.Forms.MessageBoxIcon.Question)
==System.Windows.Forms.DialogResult.Yes)
// Do stuff after 'YES is clicked'
else
// DO stuff after 'NO is clicked'