Windows Forms - Les Bases et les Contrôles
1. Création d'un projet Windows Forms
Pour débuter avec une interface graphique en C#, on utilise le modèle de projet Windows Forms App (Application Windows Forms).
Version : .NET 10 (ou la version la plus récente supportée).
Langage : C#.
2. La Boîte à outils (Toolbox)
La Boîte à outils est votre inventaire de composants (boutons, zones de texte, étiquettes, etc.). Si elle n'apparaît pas à gauche de votre écran :
- Allez dans le menu View (Affichage).
- Sélectionnez Toolbox (ou utilisez le raccourci
Ctrl + Alt + X). - Astuce : Cliquez sur l'icône de la punaise (Auto Hide) en haut à droite de la Toolbox pour qu'elle reste affichée en permanence pendant que vous travaillez sur le design.
3. Renommer le formulaire principal
Par défaut, Visual Studio crée un fichier nommé Form1.cs. Il est de bonne pratique de le renommer immédiatement :
1. Faites un clic droit sur Form1.cs dans l'Explorateur de solutions.
2. Choisissez Renommer et changez-le pour FormPrincipal.cs.
3. Visual Studio vous demandera s'il doit renommer toutes les références (répondez Oui).
4. La notion de Partial Class
Un formulaire Windows Forms est divisé en deux fichiers grâce au mot-clé partial :
FormPrincipal.cs : Contient votre code (logique des événements).
FormPrincipal.Designer.cs : Contient le code généré automatiquement par le concepteur visuel.
// Dans FormPrincipal.cs
public partial class FormPrincipal : Form
{
public FormPrincipal()
{
InitializeComponent();
}
}
5. La fonction InitializeComponent()
Cette méthode est cruciale. Elle est définie dans le fichier .Designer.cs et est appelée dans le constructeur. Elle initialise tous les contrôles (boutons, textes, etc.) que vous avez placés sur le formulaire via l'interface visuelle. Ne modifiez jamais manuellement le contenu de cette fonction dans le fichier Designer.
6. Le Bouton et ses propriétés principales
Lorsqu'on place un bouton sur le formulaire, voici les propriétés essentielles à connaître dans la fenêtre Propriétés (F4) :
- Name (IMPORTANT) : Le nom de la variable utilisée dans le code.
- Convention : On ne laisse JAMAIS le nom par défaut (ex:
button1). On le renomme pour décrire son action en utilisant le nom complet du type de composant. - Exemple :
button1->buttonValider.
- Convention : On ne laisse JAMAIS le nom par défaut (ex:
- Text : Le texte affiché sur le bouton pour l'utilisateur (ex: "Cliquez ici"). C'est différent du Name.
- Location : La position (X, Y) du coin supérieur gauche du bouton par rapport au formulaire. Elle utilise la structure
Point. - Size : La largeur (Width) et la hauteur (Height) du bouton. Elle utilise la classe
Size.
7. TabIndex (Ordre de tabulation)
L'ordre de tabulation détermine dans quel ordre les contrôles reçoivent le focus lorsque l'utilisateur appuie sur la touche Tab.
- Propriété : On utilise le TabIndex (commençant à 0) pour définir cet ordre.
- Configuration : On le configure via la fenêtre des propriétés ou via le menu View -> Tab Order.