422 votes

Comment créer une boîte de message avec des choix "Oui", "Non" et un DialogResult ?

Je veux faire une simple MessageBox avec choix Oui/Non, mais je pense qu'il est absurde de concevoir un formulaire pour cela. J'ai pensé que je pourrais utiliser MessageBox, ajouter des boutons, etc. pour accomplir cela. C'est simple, mais comme il n'y a pas de DialogResult retourné, comment puis-je récupérer le résultat ?

925voto

Mikael Svenson Points 18243

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
}

6 votes

La réponse était pour Windows, pas pour Windows Phone que je ne connais pas bien :)

29 votes

DialogResult" ne fonctionne pas dans wpf. Vous devez utiliser 'MessageBoxResult'.

68voto

SwDevMan81 Points 22634
DialogResult dr = MessageBox.Show("Are you happy now?", 
                      "Mood Test", MessageBoxButtons.YesNo);
switch(dr)
{
   case DialogResult.Yes:
      break;
   case DialogResult.No:
      break;
}

MessageBox est ce que vous recherchez.

39voto

Ben Cawley Points 985
MessageBox.Show(title, text, messageboxbuttons.yes/no)

Cela renvoie un DialogResult que vous pouvez vérifier.

Par exemple,

if(MessageBox.Show("","",MessageBoxButtons.YesNo) == DialogResult.Yes)
{
   //do something
}

18voto

David Stratton Points 45298

La boîte à messages fait produire un DialogResults

DialogResult r = MessageBox.Show("Some question here");

Vous pouvez également spécifier les boutons assez facilement. Plus de documentation peut être trouvée à http://msdn.microsoft.com/en-us/library/ba2a6d06.aspx

14voto

Khateeb Points 72

Utilisez :

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...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X