L’utilisation de la propriété DialogResult dans Visual C#


Pour obtenir une version Microsoft Visual Basic .NET de cet article, reportez-vous à 315711 .

DANS CETTE TÂCHE

Résumé


Cet article montre comment utiliser la propriété DialogResult dans les Windows Forms. Vous pouvez utiliser la propriété DialogResult pour créer des boîtes de dialogue dans les applications Windows. retour en haut

Configuration requise

La liste suivante indique le matériel, les logiciels, l’infrastructure réseau et les Service Packs recommandés dont vous avez besoin :
  • Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005
Cet article suppose que vous maîtrisez les sujets suivants :
  • Applications Windows
  • Microsoft Visual C#
Retour au début

À l’aide de la propriété DialogResult

Cet exemple utilise la propriété DialogResult pour déterminer le bouton sur lequel vous devez cliquer sur pour fermer un formulaire.
  1. Créer un nouveau projet d’Application Windows dans Visual C# .NET ou Visual C# 2005. Par défaut, Form1 est ajouté au projet.
  2. Dans la fenêtre de conception de Form1, ajoutez un contrôlebouton . Modifier la propriété Name àbtnShowForm2et ensuite modifier la propriété Textpour Show Form2.
  3. Dans le menu projet , cliquez sur Ajouter un formulaire Windows pour ajouter un nouveau formulaire à ce projet. Vous utilisez ce formulaire comme une boîte de dialogue.
  4. Cliquez sur Ouvrir. Un nouveau formulaire nommé Form2 est créé. Remarque Dans Visual Studio 2005, cliquez sur Ajouter.
  5. Ajoutez deux contrôles Button à Form2. Button1 et Button2 sont ajoutés. Définissez les propriétés de ces boutons comme suit :

    Button1

    • Nom: btnOK
    • DialogResult: OK
    • Texte: OK

    Button2

    • Nom: texte « btnCancel »
    • DialogResult: Cancel
    • Texte: annuler
  6. Form2 est terminée. Notez que vous avez terminé ces étapes à l’aide du Concepteur Windows Forms et la fenêtre Propriétés. Vous n'avez pas copié ni écrit de code.
  7. Revenir à la fenêtre de conception de Form1. Double-cliquez sur le contrôle btnShowForm2 . L’environnement IDE de Visual Studio .NET ouvre la fenêtre Code de Form1 et crée automatiquement le prototype de fonction pour l’événement btnShowForm2_Click :
    private void btnShowForm2_Click(object sender, System.EventArgs e){}
  8. Ajoutez le code suivant à la procédure d’événement btnShowForm2_Click :
    DialogResult dr = new DialogResult ();Form2  frm2 = new Form2();dr = frm2.ShowDialog();if ( dr == DialogResult.OK )    MessageBox.Show ("User clicked OK button");else if ( dr == DialogResult.Cancel)    MessageBox.Show ("User clicked Cancel button");
Cela affiche Form2 en tant que boîte de dialogue modale. Lorsque vous cliquez sur OK ou Annuler, une boîte de message s’affiche avec les détails du bouton sur lequel l’utilisateur a cliqué. retour en haut

Listing complet du Code

Form1.cs

using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace MyApplication{/// <summary>/// Summary description for Form1./// </summary>public class Form1 : System.Windows.Forms.Form{private System.Windows.Forms.Button btnShowForm2;/// <summary>/// Required designer variable./// </summary>private System.ComponentModel.Container components = null;public Form1(){//// Required for Windows Form Designer support.//InitializeComponent();//// TODO: Add any constructor code after InitializeComponent call.//}/// <summary>/// Clean up any resources being used./// </summary>protected override void Dispose( bool disposing ){if( disposing ){if (components != null) {components.Dispose();}}base.Dispose( disposing );}#region Windows Form Designer generated code/// <summary>/// Required method for Designer support - do not modify/// the contents of this method with the code editor./// </summary>private void InitializeComponent(){this.btnShowForm2 = new System.Windows.Forms.Button();this.SuspendLayout();// // btnShowForm2// this.btnShowForm2.Location = new System.Drawing.Point(72, 40);this.btnShowForm2.Name = "btnShowForm2";this.btnShowForm2.Size = new System.Drawing.Size(112, 23);this.btnShowForm2.TabIndex = 0;this.btnShowForm2.Text = "Show Form2";this.btnShowForm2.Click += new System.EventHandler(this.btnShowForm2_Click);// // Form1// this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);this.ClientSize = new System.Drawing.Size(292, 266);this.Controls.AddRange(new System.Windows.Forms.Control[] {  this.btnShowForm2});this.Name = "Form1";this.Text = "Form1";this.ResumeLayout(false);}#endregion/// <summary>/// The main entry point for the application./// </summary>[STAThread]static void Main() {Application.Run(new Form1());}private void btnShowForm2_Click(object sender, System.EventArgs e){DialogResult dr = new DialogResult ();Form2 frm2 = new Form2();dr = frm2.ShowDialog();if ( dr == DialogResult.OK )MessageBox.Show ("User clicked OK button");else if ( dr == DialogResult.Cancel)MessageBox.Show ("User clicked Cancel button");}}}

Form2.cs

using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;namespace MyApplication{ /// <summary>/// Summary description for Form2./// </summary>public class Form2 : System.Windows.Forms.Form{private System.Windows.Forms.Button btnOK;private System.Windows.Forms.Button btnCancel;/// <summary>/// Required designer variable./// </summary>private System.ComponentModel.Container components = null;public Form2(){//// Required for Windows Form Designer support.//InitializeComponent();//// TODO: Add any constructor code after InitializeComponent call//}/// <summary>/// Clean up any resources being used./// </summary>protected override void Dispose( bool disposing ){if( disposing ){if(components != null){components.Dispose();}}base.Dispose( disposing );}#region Windows Form Designer generated code/// <summary>/// Required method for Designer support - do not modify/// the contents of this method with the code editor./// </summary>private void InitializeComponent(){this.btnOK = new System.Windows.Forms.Button();this.btnCancel = new System.Windows.Forms.Button();this.SuspendLayout();// // btnOK// this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;this.btnOK.Location = new System.Drawing.Point(40, 224);this.btnOK.Name = "btnOK";this.btnOK.TabIndex = 0;this.btnOK.Text = "OK";// // btnCancel// this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;this.btnCancel.Location = new System.Drawing.Point(208, 224);this.btnCancel.Name = "btnCancel";this.btnCancel.TabIndex = 1;this.btnCancel.Text = "Cancel";// // Form2// this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);this.ClientSize = new System.Drawing.Size(292, 273);this.Controls.Add(this.btnCancel);this.Controls.Add(this.btnOK);this.Name = "Form2";this.Text = "Form2";this.ResumeLayout(false);}#endregion}}
Remarque Le code est modifié dans Visual Studio 2005. Lorsque vous créez un projet Windows Forms, Visual C# ajoute un formulaire au projet par défaut. Ce formulaire est nommé Form1. Les deux fichiers qui représentent le formulaire sont nommés Form1.cs et Form1.designer.cs. Vous écrivez votre code dans Form1.cs. Le fichier designer.cs est où le Concepteur Windows Forms écrit le code qui implémente toutes les actions que vous avez effectuées en faisant glisser des contrôles à partir de la boîte à outils. Pour plus d’informations sur le Concepteur Windows Forms de Visual C# 2005, visitez le site Web de Microsoft à l’adresse suivante :

Vérifiez que tout fonctionne

  1. Appuyez sur CTRL + F5 pour exécuter le projet. Form1 s’affiche.
  2. Cliquez sur afficher Form2.
  3. Pour fermer le formulaire, cliquez surOK ou sur Annuler. Un message s’affiche avec les détails du bouton sur lequel vous avez cliqué.
    • Si vous avez cliqué sur OK, la légende suivante s’affiche :
      Utilisateur a cliqué sur le bouton OK
    • Si vous avez cliqué surAnnuler, la légende suivante s’affiche :
      Utilisateur a cliqué sur le bouton Annuler
Retour au début