Comment puis-je créer une boîte de message avec « Oui », les choix « Non » et un DialogResult?
-
27-09-2019 - |
Question
Je veux faire simple Oui / Non choiced MessageBox, mais je pense qu'il est absurde de concevoir un formulaire pour cela. Je pensais que je pouvais utiliser MessageBox, boutons add, etc. pour y parvenir. Il est simple, mais puisqu'il n'y a pas DialogResult retourné, comment puis-je récupérer le résultat?
La solution
Cela devrait le faire:
DialogResult dialogResult = MessageBox.Show("Sure", "Some Title", MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
//do something
}
else if (dialogResult == DialogResult.No)
{
//do something else
}
Autres conseils
DialogResult dr = MessageBox.Show("Are you happy now?",
"Mood Test", MessageBoxButtons.YesNo);
switch(dr)
{
case DialogResult.Yes:
break;
case DialogResult.No:
break;
}
MessageBox classe est ce que vous sont à la recherche.
MessageBox.Show(title, text, messageboxbuttons.yes/no)
Cette fonction renvoie une DialogResult que vous pouvez vérifier.
Par exemple,
if(MessageBox.Show("","",MessageBoxButtons.YesNo) == DialogResult.Yes)
{
//do something
}
Le MessageBox Finalité produire un DialogResults
DialogResult r = MessageBox.Show("Some question here");
Vous pouvez également spécifier les boutons assez facilement. Plus de documentation est disponible à http://msdn.microsoft.com/en-us /library/ba2a6d06.aspx
Utilisation:
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
}
MessageBoxResult est utilisé sur Windows Phone au lieu de DialogResult ...
Vous pouvez également utiliser cette variante avec des chaînes de texte, voici le code modifié complet (code de Mikael), testé en 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
}
Vous pouvez après
.YesNo
insérer un message icône
, MessageBoxIcon.Question
La réponse de @Mikael Svenson est correcte. Je voulais juste ajouter un petit plus il:
L'icône Messagebox peut également être inclus a une propriété supplémentaire comme ci-dessous:
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
}
Vérifiez plus en détail de ici
Ce code simple a fonctionné pour moi. J'attrapée de MSDN ici:
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'