WPF - Boîte de dialogue

Toutes les applications autonomes ont une fenêtre principale qui expose certaines fonctionnalités et affiche certaines données sur lesquelles l'application fonctionne via une interface graphique. Une application peut également afficher des fenêtres supplémentaires pour effectuer les opérations suivantes -

  • Afficher des informations spécifiques aux utilisateurs
  • Recueillir des informations utiles auprès des utilisateurs
  • Les deux affichent et collectent des informations importantes

Exemple

Prenons un exemple pour comprendre le concept de boîte de dialogue. Tout d'abord, créez un nouveau projet WPF avec le nomWPFDialog.

  • Faites glisser un bouton et une zone de texte depuis la boîte à outils.

  • Lorsque l'utilisateur clique sur ce bouton, il ouvre une autre boîte de dialogue avec les boutons Oui, Non et Annuler et affiche un message «cliquez sur n'importe quel bouton» dessus.

  • Lorsqu'un utilisateur clique sur l'un d'entre eux, cette boîte de dialogue se ferme et affiche une zone de texte avec les informations du bouton sur lequel l'utilisateur a cliqué.

  • Voici le code XAML pour initialiser un bouton et une zone de texte avec quelques propriétés.

<Window x:Class = "WPFDialog.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   Title = "MainWindow" Height = "350" Width = "604"> 
	
   <Grid> 
      <Button Height = "23" Margin = "100" Name = "ShowMessageBox"  
         VerticalAlignment = "Top" lick = "ShowMessageBox_Click">
            Show Message Box
      </Button> 
		
      <TextBox Height = "23" HorizontalAlignment = "Left" Margin = "181,167,0,0"  
         Name = "textBox1" VerticalAlignment = "Top" Width = "120" />
   </Grid>
	
</Window>

Voici la C# code dans lequel l'événement de clic de bouton est implémenté.

using System; 
using System.Windows; 
using System.Windows.Controls;  

namespace WPFDialog { 
   /// <summary> 
      /// Interaction logic for MainWindow.xaml 
   /// </summary> 
	
   public partial class MainWindow : Window {
	
      public MainWindow() { 
         InitializeComponent(); 
      } 
		
      private void ShowMessageBox_Click(object sender, RoutedEventArgs e) { 
         string msgtext = "Click any button"; 
         string txt = "My Title"; 
         MessageBoxButton button = MessageBoxButton.YesNoCancel; 
         MessageBoxResult result = MessageBox.Show(msgtext, txt, button); 
			
         switch (result) { 
            case MessageBoxResult.Yes:textBox1.Text = "Yes"; 
            break; 
            case MessageBoxResult.No:textBox1.Text = "No"; 
            break; 
            case MessageBoxResult.Cancel:textBox1.Text = "Cancel"; 
            break;
         } 
      } 
   } 
}

Lorsque vous compilez et exécutez le code ci-dessus, il produira la fenêtre suivante.

Lorsque vous cliquez sur le bouton, il affiche une autre boîte de dialogue (comme illustré ci-dessous) qui invite l'utilisateur à cliquer sur un bouton.

Si l'utilisateur clique sur le bouton Oui, il met à jour la zone de texte avec le contenu du bouton.