Boite de dialogue en WPF avec MessageBox
Ah les boites de dialogue ! Elles sont incontournables en informatique, elles permettent à l’application de … dialoguez avec l’utilisateur. Ce peut être un simple message avec un seul bouton pour fermer le fenêtre, ou une demande de confirmation avec deux boutons Ok ou Annuler, mais ça peut être plus élaboré.
Une premier exemple de MessageBox simple
On va supposer que la boite de dialogue apparait suite à un clic droit de la souris sur une cellule, donc on va mettre le code suivant dans une méthode :
private void TextBlock_MouseRightButtonUp(object sender, MouseButtonEventArgs e) { MessageBoxResult result = MessageBox.Show("Voulez vous effacer cet enregistrement?", "Ask for delete", MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.No); switch (result) { case MessageBoxResult.Yes: statusText.Text = "Suppression acceptée !"; break; case MessageBoxResult.No: statusText.Text = "Suppression refusée !"; break; case MessageBoxResult.Cancel: statusText.Text = "Suppression annulée!"; break; } }
Nous avons la boite de dialogue suivante assez complète :
En effet, la méthode MessageBox.Show (qui est une méthode static) prend dans l’exemple 5 arguments. Le minimum est de un argument. Voici par ordre de décroissance les possibilité de personnalisation de la MessageBox
MessageBoxResult result = MessageBox.Show("Voulez vous effacer cet enregistrement?", "Ask for delete", MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.No); MessageBoxResult result = MessageBox.Show("Voulez vous effacer cet enregistrement?", "Ask for delete", MessageBoxButton.YesNoCancel, MessageBoxImage.Question); MessageBoxResult result = MessageBox.Show("Voulez vous effacer cet enregistrement?", "Ask for delete", MessageBoxButton.YesNoCancel); MessageBoxResult result = MessageBox.Show("Voulez vous effacer cet enregistrement?", "Ask for delete"); MessageBoxResult result = MessageBox.Show("Voulez vous effacer cet enregistrement?");