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
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.
Double-cliquez sur Form1 pour créer et afficher la
Form1_Load
procédure événementielle.Ajoutez des variables de instance privées à la
Form1
classe pour fonctionner avec des contrôles Windows courants. LaForm1
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
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;
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);
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);
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);
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);
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
Ajoutez le code suivant pour ajouter chaque objet au
Controls
tableau du formulaire à la fin deForm1_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);
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.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour