Utiliser Visual C# pour ajouter par programmation des contrôles aux Windows Forms au moment de l’exécution

Cet article vous aide à ajouter et configurer par programmation des contrôles sur un formulaire Windows à l’aide de Visual C#.

Version d’origine du produit : Visual C#
Numéro de la base de connaissances d’origine : 319266

Résumé

Cet article pas à pas explique comment ajouter et configurer par programmation quelques contrôles couramment utilisés dans un formulaire Windows. La gestion des événements a été omise dans l’exemple de code.

Le Kit de développement logiciel (SDK) Microsoft .NET Framework fournit de nombreux contrôles visuels que vous pouvez utiliser pour créer une application Windows Forms. Vous pouvez ajouter et configurer des contrôles au moment du design dans Visual Studio .NET ou dans Visual Studio. Vous pouvez ajouter et configurer des contrôles par programmation au moment de l’exécution.

Configuration requise

Cet article suppose que vous êtes familiarisé avec les rubriques suivantes :

  • Syntaxe Visual C#
  • L’environnement Visual Studio .NET, l’environnement Visual Studio
  • Objectif des contrôles Visual C# courants

Créer une application Windows Forms

  1. Démarrez Visual Studio .NET ou Visual Studio, puis créez un projet d’application Windows Visual C# nommé WinControls. Form1 est ajouté au projet par défaut.

  2. Double-cliquez sur Form1 pour créer et afficher la Form1_Load procédure événementielle.

  3. Ajoutez des variables de instance privées à la Form1 classe pour fonctionner avec des contrôles Windows courants. La Form1 classe commence comme suit :

    public class Form1 : System.Windows.Forms.Form
    {
         //Controls.
         private TextBox txtBox = new TextBox();
         private Button btnAdd = new Button();
         private ListBox lstBox = new ListBox();
         private CheckBox chkBox = new CheckBox();
         private Label lblCount = new Label();
        //Other code.
    }
    

    Remarque

    Le code doit être modifié dans Visual Studio. 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 l’endroit où le Windows Forms Designer écrit le code qui implémente toutes les actions que vous avez effectuées en ajoutant des contrôles. Pour plus d’informations sur la Windows Forms Designer dans Visual C#, consultez Création d’un projet (Visual C#).

Personnaliser les propriétés de formulaire et de contrôle

  1. Recherchez la Form1_Load procédure événementielle et ajoutez le code suivant à la procédure pour personnaliser l’apparence du contrôle Formulaire :

     //Set up the form.
     this.MaximizeBox = false;
     this.MinimizeBox = false;
     this.BackColor = Color.White;
     this.ForeColor = Color.Black;
     this.Size = new System.Drawing.Size(155, 265);
     this.Text = "Run-time Controls";
     this.FormBorderStyle = FormBorderStyle.FixedDialog;
     this.StartPosition = FormStartPosition.CenterScreen;
    
  2. Ajoutez le code suivant à la Form1_Load procédure événementielle pour personnaliser l’apparence du contrôle Button :

     //Format controls. Note: Controls inherit color from parent form.
     this.btnAdd.BackColor = Color.Gray;
     this.btnAdd.Text = "Add";
     this.btnAdd.Location = new System.Drawing.Point(90, 25);
     this.btnAdd.Size = new System.Drawing.Size(50, 25);
    
  3. Ajoutez le code suivant pour personnaliser l’apparence du contrôle TextBox dans Form1_Load:

     this.txtBox.Text = "Text";
     this.txtBox.Location = new System.Drawing.Point(10, 25);
     this.txtBox.Size = new System.Drawing.Size(70, 20);
    
  4. Ajoutez le code suivant pour personnaliser l’apparence du contrôle ListBox dans Form1_Load:

     this.lstBox.Items.Add("One");
     this.lstBox.Items.Add("Two");
     this.lstBox.Items.Add("Three");
     this.lstBox.Items.Add("Four");
     this.lstBox.Sorted = true;
     this.lstBox.Location = new System.Drawing.Point(10, 55);
     this.lstBox.Size = new System.Drawing.Size(130, 95);
    
  5. Ajoutez le code suivant pour personnaliser l’apparence du contrôle CheckBox dans Form1_Load:

     this.chkBox.Text = "Disable";
     this.chkBox.Location = new System.Drawing.Point(15, 190);
     this.chkBox.Size = new System.Drawing.Size(110, 30);
    
  6. Ajoutez le code suivant pour personnaliser l’apparence du contrôle Label dans Form1_Load:

     this.lblCount.Text = lstBox.Items.Count.ToString() + " items";
     this.lblCount.Location = new System.Drawing.Point(55, 160);
     this.lblCount.Size = new System.Drawing.Size(65, 15);
    

Ajouter des contrôles au formulaire

  1. Ajoutez le code suivant pour ajouter chaque objet au Controls tableau du formulaire à la fin de Form1_Load:

     //Add controls to the form.
     this.Controls.Add(btnAdd);
     this.Controls.Add(txtBox);
     this.Controls.Add(lstBox);
     this.Controls.Add(chkBox);
     this.Controls.Add(lblCount);
    
  2. Enregistrez le projet.

Vérifier que cela fonctionne

Pour vérifier que l’exemple fonctionne, sélectionnez Démarrer dans le menu Déboguer .

Remarque

  • Bien que le formulaire et les contrôles s’affichent, ils ne font actuellement rien, car vous n’avez pas écrit de gestionnaires d’événements.
  • N’oubliez pas que les positions de ces contrôles sont statiques. Pour les rendre plus robustes lorsque le formulaire est étiré, rendez les points dynamiques par rapport à la position du formulaire. Si les contrôles sont statiques, l’étirement du formulaire peut interférer avec l’affichage d’autres contrôles sur le formulaire.

References

Pour plus d’informations sur l’utilisation de contrôles par programme, consultez la rubrique Applications Windows dans la section Visual C# de la documentation de l’aide en ligne de Visual Studio .NET ou de la documentation de l’aide en ligne de Visual Studio.