Comment ouvrir une boîte de message (WPF .NET)

Une boîte de message est une boîte de dialogue utilisée pour afficher rapidement des informations et permettre éventuellement aux utilisateurs de prendre des décisions. L’accès à la boîte de message est fourni par la MessageBox classe. Une boîte de message s’affiche modalement. Et le code qui affiche la boîte de message est suspendu jusqu’à ce que l’utilisateur ferme la boîte de message avec le bouton fermer ou un bouton de réponse.

L’illustration suivante illustre les parties d’une boîte de message :

A figure that shows the parts of a message box for WPF.

  • Barre de titre avec un légende (1).
  • Bouton fermer (2).
  • Icône (3).
  • Message affiché à l’utilisateur (4).
  • Boutons de réponse (5).

Pour la présentation ou la collecte de données complexes, une boîte de dialogue peut être plus appropriée qu’une boîte de message. Pour plus d’informations, consultez la vue d’ensemble des boîtes de dialogue.

Afficher une boîte de message

Pour créer une boîte de message, vous utilisez la MessageBox classe. La MessageBox.Show méthode vous permet de configurer le texte de la zone de message, le titre, l’icône et les boutons, illustrés dans le code suivant :

string messageBoxText = "Do you want to save changes?";
string caption = "Word Processor";
MessageBoxButton button = MessageBoxButton.YesNoCancel;
MessageBoxImage icon = MessageBoxImage.Warning;
MessageBoxResult result;

result = MessageBox.Show(messageBoxText, caption, button, icon, MessageBoxResult.Yes);
Dim messageBoxText As String = "Do you want to save changes?"
Dim caption As String = "Word Processor"
Dim Button As MessageBoxButton = MessageBoxButton.YesNoCancel
Dim Icon As MessageBoxImage = MessageBoxImage.Warning
Dim result As MessageBoxResult

result = MessageBox.Show(messageBoxText, caption, Button, Icon, MessageBoxResult.Yes)

Les MessageBox.Show surcharges de méthode permettent de configurer la boîte de message. Ces options sont les suivantes :

  • Barre de titre légende
  • Icône message
  • Texte du message
  • Boutons de réponse

Voici quelques exemples supplémentaires d’utilisation d’une boîte de message.

  • Afficher une alerte.

    MessageBox.Show("Unable to save file, try again.");
    
    MessageBox.Show("Unable to save file, try again.")
    

    Le code précédent affiche une boîte de message comme l’image suivante :

    A simple message box for WPF that has no options configured.

    Il est judicieux d’utiliser les options fournies par la classe de boîte de message. À l’aide de la même alerte que précédemment, définissez d’autres options pour la rendre plus visuellement attrayante :

    MessageBox.Show("Unable to save file, try again.", "Save error", MessageBoxButton.OK, MessageBoxImage.Error);
    
    MessageBox.Show("Unable to save file, try again.", "Save error", MessageBoxButton.OK, MessageBoxImage.Error)
    

    Le code précédent affiche une boîte de message comme l’image suivante :

    A warning message box for WPF that has an icon, caption, and text.

  • Afficher un avertissement.

    MessageBox.Show("If you close the next window without saving, your changes will be lost.", "Configuration", MessageBoxButton.OK, MessageBoxImage.Warning);
    
    MessageBox.Show("If you close the next window without saving, your changes will be lost.", "Configuration", MessageBoxButton.OK, MessageBoxImage.Warning)
    

    Le code précédent affiche une boîte de message comme l’image suivante :

    A simple message box for WPF that has displays a warning icon.

  • Posez une question à l’utilisateur.

    if (MessageBox.Show("If the file save fails, do you want to automatically try again?",
                        "Save file",
                        MessageBoxButton.YesNo,
                        MessageBoxImage.Question) == MessageBoxResult.Yes)
    {
        // Do something here
    }
    
    If MessageBox.Show("If the file save fails, do you want to automatically try again?",
                       "Save file",
                       MessageBoxButton.YesNo,
                       MessageBoxImage.Question) = MessageBoxResult.Yes Then
    
        ' Do something here
    
    End If
    

    Le code précédent affiche une boîte de message comme l’image suivante :

    A simple message box for WPF that prompts the user with a yes or no question.

Gérer une réponse de boîte de message

La MessageBox.Show méthode affiche la boîte de message et retourne un résultat. Le résultat indique comment l’utilisateur a fermé la boîte de message :

result = MessageBox.Show(messageBoxText, caption, button, icon, MessageBoxResult.Yes);

switch (result)
{
    case MessageBoxResult.Cancel:
        // User pressed Cancel
        break;
    case MessageBoxResult.Yes:
        // User pressed Yes
        break;
    case MessageBoxResult.No:
        // User pressed No
        break;
}
result = MessageBox.Show(messageBoxText, caption, Button, Icon, MessageBoxResult.Yes)

Select Case result
    Case MessageBoxResult.Cancel
        ' User pressed Cancel
    Case MessageBoxResult.Yes
        ' User pressed Yes
    Case MessageBoxResult.No
        ' User pressed No
End Select

Lorsqu’un utilisateur appuie sur les boutons en bas de la boîte de message, le correspondant MessageBoxResult est retourné. Toutefois, si l’utilisateur appuie sur la touche Échap ou appuie sur le bouton Fermer (#2 dans l’illustration de la boîte de message), le résultat de la boîte de message varie en fonction des options de bouton :

Options du bouton Résultat du bouton Échap ou Fermer
OK OK
OKCancel Cancel
YesNo Raccourci clavier échap et bouton Fermer désactivé. L’utilisateur doit appuyer sur Oui ou Non.
YesNoCancel Cancel

Pour plus d’informations sur l’utilisation de boîtes de message, consultez MessageBox et l’exemple MessageBox.

Voir aussi