Procédure pas à pas : mise en route du Concepteur Windows Forms
Le Concepteur Windows Forms fournit beaucoup d'outils pour générer des applications Windows Forms. Cette procédure pas à pas illustre comment générer une application à l'aide des divers outils fournis par le concepteur. Cette procédure pas à pas illustre les tâches suivantes :
Création d'un projet Windows Forms.
Réorganisation de contrôles à l'aide de lignes d'alignement (SnapLines).
Accomplissement de tâches de concepteur à l'aide de balises actives.
Définition de marges et remplissage pour vos contrôles.
Réorganisation de contrôles à l'aide d'un contrôle TableLayoutPanel.
Partitionnement de la disposition de votre contrôle en utilisant un contrôle SplitContainer.
Navigation dans votre disposition avec la fenêtre Structure du document.
Positionnement de contrôles à l'aide de l'affichage des informations de taille et d'emplacement.
Définition des valeurs de propriétés à l'aide des fenêtres Propriétés.
Lorsque vous avez terminé, vous disposez alors d'un contrôle personnalisé qui a été assemblé à l'aide de beaucoup de fonctionnalités de disposition disponibles dans le Concepteur Windows Forms. Ce contrôle implémente l'interface utilisateur pour une calculatrice simple. La capture d'écran suivante affiche la disposition générale du contrôle de calculatrice.
Interface utilisateur de la calculatrice
Composants requis
Pour exécuter cette procédure pas à pas, vous devrez :
- Avoir des autorisations suffisantes pour être en mesure de créer et d'exécuter des projets d'application Windows Forms sur l'ordinateur où Visual Studio est installé.
Notes
Selon vos paramètres actifs ou votre édition, les boîtes de dialogue et les commandes de menu que vous voyez peuvent différer de celles qui sont décrites dans l'aide. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.
Création du projet de contrôle personnalisé
La première étape consiste à créer le projet de contrôle DemoCalculator
.
Pour créer le projet de contrôle personnalisé
Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet pour ouvrir la boîte de dialogue Nouveau projet.
Sélectionnez le modèle de projet Bibliothèque de contrôles Windows dans la liste des projets Visual C#, tapez DemoCalculatorLib dans la zone Nom, puis cliquez sur OK.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur UserControl1.cs, puis cliquez sur Renommer. Remplacez le nom de fichier par DemoCalculator.cs. Cliquez sur le bouton Oui à la question de savoir si vous souhaitez renommer toutes les références à l'élément de code "UserControl1".
Le Concepteur Windows Forms affiche actuellement l'aire du concepteur pour le contrôle
DemoCalculator
. Dans cet affichage, vous pouvez concevoir graphiquement l'apparence de votre contrôle en sélectionnant des contrôles et des composants dans la Boîte à outils et en les plaçant sur l'aire du concepteur. Pour plus d'informations sur les contrôles personnalisés, consultez Variétés de contrôles personnalisés.
Conception de la disposition des contrôles
Le contrôle DemoCalculator
contient plusieurs contrôles Windows Forms. Dans cette procédure, vous réorganiserez les contrôles en utilisant quelques-unes des fonctionnalités de développement rapide d'application (RAD, Rapid Application Development) du Concepteur Windows Forms.
Pour concevoir la disposition du contrôle
Dans le Concepteur Windows Forms, modifiez le contrôle
DemoCalculator
de façon à lui donner une plus grande taille en cliquant sur la poignée de redimensionnement dans le coin inférieur droit et en la faisant glisser en bas et à droite. Dans le coin inférieur droit de Visual Studio, recherchez les informations de taille et d'emplacement des contrôles. Réglez la taille du contrôle sur une largeur de 500 et une hauteur de 400 en consultant les informations de taille pendant que vous redimensionnez le contrôle.Dans la Boîte à outils, cliquez sur le nœud Conteneurs pour l'ouvrir. Sélectionnez le contrôle SplitContainer et faites-le glisser sur l'aire du concepteur.
Le SplitContainer est placé sur l'aire du concepteur du contrôle
DemoCalculator
.Notes
Le contrôle SplitContainer s'ajuste pour correspondre à la taille du contrôle
DemoCalculator
. Examinez la fenêtre Propriétés pour consulter les paramètres de propriétés du contrôle SplitContainer. Recherchez la propriété Dock. Sa valeur est Fill, qui signifie que le contrôle SplitContainer ajustera toujours sa taille aux limites du contrôleDemoCalculator
. Redimensionnez le contrôleDemoCalculator
pour vérifier ce comportement.Dans la fenêtre Propriétés, remplacez la valeur de la propriété Dock par None.
Le contrôle SplitContainer ramène sa taille aux dimensions de la taille par défaut. Sa taille ne suit plus la taille du contrôle
DemoCalculator
.Cliquez sur le glyphe de balise active () dans le coin supérieur droit du contrôle SplitContainer. Cliquez sur Ancrer dans le conteneur parent pour attribuer à la propriété Dock la valeur Fill.
Le contrôle SplitContainer s'ancre aux limites du contrôle
DemoCalculator
.Notes
Plusieurs contrôles offrent des balises actives afin de faciliter la conception. Pour plus d'informations, consultez Procédure pas à pas : exécution de tâches courantes à l'aide de balises actives dans les contrôles Windows Forms.
Cliquez sur la bordure verticale entre les panneaux et faites-la glisser à droite, afin que l'essentiel de l'espace soit occupé par le panneau gauche.
Le SplitContainer divise le contrôle
DemoCalculator
en deux panneaux, avec une bordure mobile qui les sépare. Le panneau gauche contiendra les boutons et l'écran de la calculatrice, et le panneau droit affichera un enregistrement des opérations arithmétiques exécutées par l'utilisateur.Dans la fenêtre Propriétés, remplacez la valeur de la propriété BorderStyle par Fixed3D.
Dans la Boîte à outils, cliquez sur le nœud Contrôles communs pour l'ouvrir. Sélectionnez le contrôle ListView et faites-le glisser dans le panneau droit du contrôle SplitContainer.
Cliquez sur le glyphe de balise active du contrôle ListView. Dans le panneau des balises actives, remplacez le paramètre View par Details.
Dans le panneau des balises actives, cliquez sur Modifier les colonnes.
La boîte de dialogue Éditeur de la collection ColumnHeader s'ouvre.
Dans la boîte de dialogue Éditeur de la collection ColumnHeader, cliquez sur le bouton Ajouter pour ajouter une colonne au contrôle ListView. Remplacez la valeur de la propriété Text de la colonne par Historique. Cliquez sur OK pour créer la colonne.
Dans le panneau des balises actives, cliquez sur Ancrer dans le conteneur parent, puis cliquez sur le glyphe de balise active pour fermer le panneau des balises actives.
À partir du nœud Conteneurs dans la Boîte à outils, faites glisser un contrôle TableLayoutPanel dans le panneau gauche du contrôle SplitContainer.
Le contrôle TableLayoutPanel apparaît sur la surface du concepteur avec son panneau des balises actives ouvert. Le contrôle TableLayoutPanel réorganise ses contrôles enfants dans une grille. Pour plus d'informations, consultez Procédure pas à pas : organisation des contrôles dans les Windows Forms à l'aide d'un TableLayoutPanel. Le contrôle TableLayoutPanel contiendra l'écran et les boutons du contrôle
DemoCalculator
.Cliquez sur Modifier les lignes et les colonnes dans le panneau des balises actives.
La boîte de dialogue Styles de ligne et de colonne s'ouvre.
Cliquez sur le bouton Ajouter jusqu'à ce que cinq colonnes soient affichées. Sélectionnez les cinq colonnes, puis cliquez sur la case d'option Pour cent dans la zone Type de taille. Attribuez à Pour cent la valeur 20. Chaque colonne a ainsi la même largeur.
Dans la zone déroulante Afficher, cliquez sur Lignes.
Cliquez sur le bouton Ajouter jusqu'à ce que cinq lignes soient affichées. Sélectionnez les cinq lignes, puis cliquez sur la case d'option Pour cent dans la zone Type de taille. Attribuez à Pour cent la valeur 20. Chaque ligne a ainsi la même hauteur.
Cliquez sur OK pour accepter vos modifications, puis cliquez sur le glyphe de balise active pour fermer le panneau des balises actives.
Dans la fenêtre Propriétés, remplacez la valeur de la propriété Dock par Fill.
Remplissage du contrôle
Maintenant que la disposition du contrôle est définie, vous pouvez remplir le contrôle DemoCalculator
avec des boutons et un affichage.
Pour remplir le contrôle
Dans la Boîte à outils, double-cliquez sur l'icône du contrôle TextBox.
Un contrôle TextBox est placé dans la première cellule du contrôle TableLayoutPanel.
Dans la fenêtre Propriétés, remplacez la valeur de la propriété du contrôle ColumnSpan de TextBox par 5.
Le contrôle TextBox se déplace à une position qui est centrée dans sa ligne.
Affectez à la propriété Anchor du contrôle TextBox les valeurs Left, Right.
Le contrôle TextBox se développe horizontalement pour couvrir les cinq colonnes.
Affectez à la propriété TextAlign du contrôle TextBox la valeur Right.
Dans la fenêtre Propriétés, développez le nœud de propriété Font. Attribuez à Size la valeur 14, et attribuez à Bold la valeur true au contrôle TextBox.
Sélectionnez le contrôle TableLayoutPanel.
Dans la Boîte à outils, double-cliquez sur l'icône Button.
Un contrôle Button est placé dans la première cellule ouverte du contrôle TableLayoutPanel.
Dans la Boîte à outils, double-cliquez sur l'icône Button quatre autres fois pour remplir la deuxième ligne du contrôle TableLayoutPanel.
Sélectionnez les cinq contrôles Button en cliquant sur eux tout en maintenant la touche MAJ enfoncée. Appuyez sur CTRL+C pour copier les contrôles Button vers le Presse-papiers.
Appuyez trois fois sur CTRL+V pour coller des copies des contrôles Button dans les lignes restantes du contrôle TableLayoutPanel.
Sélectionnez les 20 contrôles Button en cliquant sur eux tout en maintenant la touche MAJ enfoncée.
Dans la fenêtre Propriétés, remplacez la valeur de la propriété Dock par Fill.
Tous les contrôles Button s'ancrent pour remplir leurs cellules conteneur.
Dans la fenêtre Propriétés, développez le nœud de propriété Margin. Attribuez à All la valeur 5.
Tous les contrôles Button sont dimensionnés à une taille plus petite pour créer une plus grande marge entre eux.
Sélectionnez button10 et button20, puis appuyez sur SUPPR pour les supprimer de la disposition.
Sélectionnez button5 et button15, puis remplacez la valeur de leur propriété RowSpan par 2. Ce seront les boutons Effacer et = pour le contrôle
DemoCalculator
.
Navigation avec le contrôle à l'aide de la fenêtre Structure du document
Lorsque votre contrôle ou formulaire est rempli avec plusieurs contrôles, vous pouvez trouver qu'il est plus facile de naviguer dans votre disposition avec la fenêtre Structure du document.
Pour naviguer à l'aide de la fenêtre Structure du document
Dans le menu Affichage, pointez sur Autres fenêtres, puis cliquez sur Structure du document.
La fenêtre Structure du document affiche une arborescence du contrôle
DemoCalculator
et de ses contrôles constitutifs. Les contrôles conteneur comme le SplitContainer affichent leurs contrôles enfants en tant que sous-nœuds dans l'arborescence. Vous pouvez également renommer des contrôles en place à l'aide de la fenêtre Structure du document.Dans Structure du document, cliquez avec le bouton droit surbutton1, puis cliquez sur Renommer. Remplacez son nom par
sevenButton
.À l'aide de la fenêtre Structure du document, remplacez le nom des contrôles Button généré par le concepteur par le nom de production en fonction de la liste suivante :
button1
parsevenButton
button2
pareightButton
button3
parnineButton
button4
pardivisionButton
button5
parclearButton
button6
parfourButton
button7
parfiveButton
button8
parsixButton
button9
parmultiplicationButton
button11
paroneButton
button12
partwoButton
button13
parthreeButton
button14
parsubtractionButton
button15
parequalsButton
button16
parzeroButton
button17
parchangeSignButton
button18
pardecimalButton
button19
paradditionButton
À l'aide des fenêtres Structure du document et Propriétés, modifiez la valeur de la propriété Text de chaque nom de contrôle Button en fonction de la liste suivante :
Affectez à la propriété de texte du contrôle
sevenButton
la valeur 7Affectez à la propriété de texte du contrôle
eightButton
la valeur 8Affectez à la propriété de texte du contrôle
nineButton
la valeur 9Affectez à la propriété de texte du contrôle
divisionButton
la valeur /Affectez à la propriété de texte du contrôle
clearButton
la valeur ClearAffectez à la propriété de texte du contrôle
fourButton
la valeur 4Affectez à la propriété de texte du contrôle
fiveButton
la valeur 5Affectez à la propriété de texte du contrôle
sixButton
la valeur 6Affectez à la propriété de texte du contrôle
multiplicationButton
la valeur *Affectez à la propriété de texte du contrôle
oneButton
la valeur 1Affectez à la propriété de texte du contrôle
twoButton
la valeur 2Affectez à la propriété de texte du contrôle
threeButton
la valeur 3Affectez à la propriété de texte du contrôle
subtractionButton
la valeur -Affectez à la propriété de texte du contrôle
equalsButton
la valeur =Affectez à la propriété de texte du contrôle
zeroButton
la valeur 0Affectez à la propriété de texte du contrôle
changeSignButton
la valeur +/-Affectez à la propriété de texte du contrôle
decimalButton
la valeur .Affectez à la propriété de texte du contrôle
additionButton
la valeur +
Sur l'aire du concepteur, sélectionnez tous les contrôles Button en cliquant dessus tout en maintenant la touche MAJ enfoncée.
Dans la fenêtre Propriétés, développez le nœud de propriété Font. Attribuez à Size la valeur 14 et à Bold la valeur true pour tous les contrôles Button.
Cela termine la conception du contrôle
DemoCalculator
. Il ne reste plus qu'à fournir la logique de calculatrice.
Implémentation des gestionnaires d'événements
Les boutons sur le contrôle DemoCalculator
ont des gestionnaires d'événements qui peuvent être utilisés pour implémenter une grande partie de la logique de calculatrice. Le Concepteur Windows Forms vous permet d'implémenter les stubs de tous les gestionnaires d'événements pour tous les boutons avec un seul double-clic.
Pour implémenter des gestionnaires d'événements
Sur l'aire du concepteur, sélectionnez tous les contrôles Button en cliquant dessus tout en maintenant la touche MAJ enfoncée.
Double-cliquez sur l'un des contrôles Button.
L'éditeur de code s'ouvre aux gestionnaires d'événements générés par le concepteur.
Test du contrôle
Dans la mesure où le contrôle DemoCalculator
hérite de la classe UserControl, vous pouvez tester son comportement avec le conteneur de test UserControl. Pour plus d'informations, consultez Comment : tester le comportement d'un UserControl au moment de l'exécution.
Pour tester le contrôle
Appuyez sur F5 pour générer et exécuter le contrôle
DemoCalculator
dans le conteneur de test UserControl.Cliquez sur la bordure entre les panneaux SplitContainer et faites-la glisser vers la gauche et la droite. Le TableLayoutPanel et tous ses contrôles enfants se redimensionnent pour tenir dans l'espace disponible.
Utilisation du contrôle sur un formulaire
Le contrôle DemoCalculator
peut être utilisé dans d'autres contrôles composites ou sur un formulaire. La procédure suivante décrit son utilisation.
Création du projet
La première étape consiste à créer le projet d'application. Vous utiliserez ce projet pour générer l'application qui illustre le contrôle personnalisé.
Pour créer le projet
Dans le menu Fichier, pointez sur Ajouter, puis cliquez sur Nouveau projet pour ouvrir la boîte de dialogue Nouveau projet.
Sélectionnez le modèle de projet d'application Windows dans la liste des projets Visual C#, tapez DemoCalculatorTest dans la zone Nom, puis cliquez OK.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier Références, puis cliquez sur Ajouter une référence pour ouvrir la boîte de dialogue Ajouter une référence.
Cliquez sur l'onglet Nom du projet, puis double-cliquez sur votre projet
DemoCalculatorLib
pour ajouter la référence au projet de test.Dans l'Explorateur de solutions, cliquez avec le bouton droit sur DemoCalculatorTest, puis cliquez sur Définir comme projet de démarrage.
Dans le Concepteur Windows Forms, augmentez la taille du formulaire à approximativement 700 x 500.
Utilisation de votre contrôle dans la disposition du formulaire
Pour utiliser le contrôle DemoCalculator
dans une application, vous devez le placer sur un formulaire.
Pour utiliser votre contrôle dans la disposition du formulaire
Dans la Boîte à outils, développez le nœud DemoCalculatorLib Components.
Faites glisser le contrôle DemoCalculator de la Boîte à outils sur votre formulaire. En maintenant le bouton de la souris enfoncé, laissez la Boîte à outils se fermer, puis déplacez le glyphe qui représente votre contrôle à l'angle supérieur gauche du formulaire. Lorsque le glyphe est près des bordures du formulaire, vous verrez apparaître les lignes d'alignement (SnapLines). Ceux-ci indiquent la distance de la propriété Padding du formulaire et la propriété Margin du contrôle. Déposez le contrôle à l'emplacement indiqué par les lignes d'alignement (SnapLines).
Pour plus d'informations, consultez Procédure pas à pas : organisation des contrôles dans les Windows Forms à l'aide des lignes d'alignement (SnapLines).
Faites glisser un contrôle Button à partir de la Boîte à outils et déposez-le sur le formulaire.
Déplacez le contrôle Button dans le contrôle
DemoCalculator
et notez où les lignes d'alignement (SnapLines) apparaissent. Vous pouvez aligner précisément et facilement vos contrôles à l'aide de cette fonctionnalité. Supprimez le contrôle Button lorsque vous avez terminé.Cliquez avec le bouton droit sur le contrôle
DemoCalculator
, puis cliquez sur Propriétés.Affectez à la propriété Dock la valeur Fill.
Sélectionnez le formulaire, puis développez le nœud propriété Padding. Modifiez la valeur de Tout en 20.
La taille du contrôle
DemoCalculator
est réduite pour recevoir la nouvelle valeur Padding du formulaire.Redimensionnez le formulaire en faisant glisser les diverses poignées de redimensionnement aux différentes positions. Observez comment le contrôle
DemoCalculator
est redimensionné pour s'adapter.
Étapes suivantes
Cette procédure pas à pas a illustré comment construire l'interface utilisateur pour une calculatrice simple. Vous pouvez étendre ses fonctionnalités des façons suivantes :
Implémentez la logique de calculatrice. Cela peut paraître simple, mais il y a des complexités intéressantes associées aux transitions d'état de la calculatrice.
Empaquetez l'application Calculatrice pour le déploiement. Pour plus d'informations, consultez Comment : publier une application ClickOnce.
Voir aussi
Tâches
Procédure pas à pas : organisation des contrôles dans les Windows Forms à l'aide d'un TableLayoutPanel
Procédure pas à pas : ajout de balises actives à un composant Windows Forms
Procédure pas à pas : organisation des contrôles dans les Windows Forms à l'aide des lignes d'alignement (SnapLines)
Procédure pas à pas : remplissage automatique de la boîte à outils avec des composants personnalisés
Comment : tester le comportement d'un UserControl au moment de l'exécution
Dépannage de la création de contrôles et de composants
Dépannage du développement au moment du design
Concepts
Variétés de contrôles personnalisés