Résumé de la technologie ToolStrip
Cette rubrique rassemble des informations sur le contrôle ToolStrip
et les classes qui prennent en charge son utilisation.
Le contrôle ToolStrip
et les classes qui lui sont associées fournissent une solution complète pour la création de barres d'outils, de barres d'état et de menus.
Espaces de noms
Arrière-plan
Grâce au contrôle ToolStrip
et à ses classes, vous pouvez créer des fonctionnalités de barre d'outils avancées dont l'apparence et le comportement sont à la fois professionnels et cohérents. Le contrôle ToolStrip
et ses classes offrent les améliorations suivantes par rapport aux contrôles précédents :
Un modèle d'événement plus cohérent.
Un comportement au moment du design plus cohérent avec des listes de tâches et des éditeurs de collections Items.
Un rendu personnalisé grâce à
ToolStripManager
etToolStripRenderer
.Un rafting intégré (partage de l'espace horizontal ou vertical dans la zone d'outils quand celle-ci est ancrée) avec
ToolStripContainer
etToolStripPanel
.La réorganisation des éléments au moment du design et de l’exécution avec la propriété AllowItemReorder.
Le déplacement des éléments vers un menu de dépassement de capacité avec la propriété CanOverflow.
Un emplacement du contrôle entièrement configurable avec
ToolStripContainer
,ToolStripPanel
etToolStripContentPanel
.L'hébergement de contrôles
ToolStrip
, traditionnels ou personnalisés à l'aide deToolStripControlHost
.La fusion des contrôles
ToolStrip
à l'aide deToolStripPanel
.
ToolStrip
est la classe de base extensible de MenuStrip
, ContextMenuStrip
et StatusStrip
. Ces contrôles sont des conteneurs ToolStripItem qui héritent d'un comportement commun et de la gestion des événements, et qui sont étendus pour que chaque implémentation gère le comportement qui lui est associé. Les contrôles qui dérivent de ToolStripItem sont répertoriés dans le tableau suivant. La classe de base ToolStrip
gère les événements de peinture, d’entrée utilisateur et de glisser-déposer pour ces contrôles.
Les contrôles ToolStrip
, MenuStrip
, ContextMenuStrip
et StatusStrip
remplacent les précédents contrôles de barre d'outils, de menu, de menu contextuel et de barre d'état. Toutefois, ces contrôles ont été conservés pour permettre une compatibilité descendante.
Classes ToolStrip
Le tableau suivant montre les classes ToolStrip groupées par technologie.
Technologie | Classe |
---|---|
Conteneurs de barre d'outils, de barre d'état et de menu | ToolStrip MenuStrip ContextMenuStrip StatusStrip ToolStripDropDownMenu |
Éléments ToolStrip | ToolStripLabel ToolStripDropDownItem ToolStripMenuItem ToolStripButton ToolStripStatusLabel ToolStripSeparator ToolStripControlHost ToolStripComboBox ToolStripTextBox ToolStripProgressBar ToolStripDropDownButton ToolStripSplitButton |
Emplacement | ToolStripContainer ToolStripContentPanel ToolStripPanel |
Présentation et rendu | ToolStripManager ToolStripRenderer ToolStripProfessionalRenderer ToolStripRenderMode ToolStripManagerRenderMode |
Fonctionnalités de ToolStrip au moment du design
La famille de contrôles ToolStrip fournit un ensemble complet d'outils et de modèles permettant de définir et de modifier sur place les bases de l'interface utilisateur pour que vous puissiez créer rapidement une application prête à l'emploi.
Boîtes de dialogue de tâches
Dans Visual Studio, le fait de cliquer sur le Smart Tag d'un contrôle du concepteur affiche une liste de tâches pour accéder facilement à de nombreuses commandes fréquemment utilisées.
Éditeurs de collections Items
Dans Visual Studio, lorsque vous cliquez sur Modifier les éléments dans la liste des tâches ou cliquez avec le bouton droit sur le contrôle, puis sélectionnez Modifier les éléments dans le menu contextuel, l’éditeur de collection du contrôle s’affiche. Les éditeurs de collections vous permettent d’ajouter, de supprimer et de réorganiser les éléments que contient le contrôle. Vous pouvez également afficher et modifier les propriétés du contrôle et de ses éléments.
Hébergement des contrôles
La classe ToolStripControlHost fournit des wrappers intégrés pour les contrôles ToolStripComboBox, ToolStripTextBox et ToolStripProgressBar. Vous pouvez également héberger tout autre contrôle existant ou contrôle COM dans un ToolStripControlHost.
Pour obtenir un exemple d’hébergement de contrôle, consultez Guide pratique pour encapsuler un contrôle Windows Forms avec ToolStripControlHost.
Rendu
Les classes ToolStrip implémentent un schéma de rendu qui est très différent des autres contrôles Windows Forms. Avec ce schéma, vous pouvez facilement appliquer des styles et des thèmes.
Pour appliquer un style à un ToolStrip et à tous les objets ToolStripItem qu'il contient, il n'est pas nécessaire de gérer l'événement Paint pour chaque élément. Vous pouvez définir la propriété RenderMode sur l'une des valeurs ToolStripRenderMode autres que Custom. Vous pouvez également définir Renderer directement sur n'importe quelle classe qui hérite de la classe ToolStripRenderer. Le fait de définir cette propriété définit automatiquement RenderMode.
Vous pouvez appliquer un même style à plusieurs objets ToolStrip d'une même application en définissant RenderMode sur ManagerRenderMode et en définissant la propriété RenderMode ou Renderer sur le ToolStripManagerRenderMode de votre choix ou sur la ToolStripRenderer valeur, respectivement.
Pour obtenir des exemples de rendu, consultez How to : Create and Set a Custom Renderer for the ToolStrip Control in Windows Forms.
Styles et thèmes
ToolStrip et les classes qui lui sont associées permettent de prendre en charge facilement les styles visuels et les apparences personnalisées qui ne nécessitent pas la substitution des méthodes OnPaint pour chaque élément. Utilisez DisplayStyle, ainsi que les propriétés RenderMode et Renderer.
Rafting et ancrage
Les contrôles ToolStrip peuvent faire l'objet d'un rafting, d'un ancrage ou d'un positionnement absolu. Les éléments ToolStrip sont positionnés par le LayoutEngine du conteneur.
Le Débogage est la capacité des barres d’outils à partager un espace horizontal ou vertical. Un formulaire Windows peut avoir un ToolStripContainer qui contient des panneaux gauche, droit, haut et bas pour le positionnement, ainsi que les contrôles ToolStrip, MenuStrip et StatusStrip pour le rafting. Plusieurs contrôles ToolStrip s'empilent verticalement si vous les placez dans le ToolStripContainer de gauche ou de droite. Ils s'empilent horizontalement si vous les placez dans le ToolStripContainer du haut ou du bas. Vous pouvez utiliser le ToolStripContentPanel central du ToolStripContainer pour positionner les contrôles traditionnels sur le formulaire.
Tous les contrôles ToolStripContainer sont directement sélectionnables au moment du design et peuvent être supprimés. Un ToolStripContainer est extensible et réductible, et peut être redimensionné avec les contrôles qu'il contient.
L’ancrage est la spécification de l’emplacement simple d’un contrôle sur le côté gauche, droit, supérieur ou inférieur du formulaire.
L'avantage du rafting par rapport à l'ancrage est que les contrôles ToolStrip, MenuStrip et StatusStrip peuvent partager l'espace horizontal ou vertical avec d'autres contrôles.
Si vous n'utilisez pas le rafting, la plupart des contrôles ToolStrip peuvent être ancrés dans le formulaire comme les autres contrôles. Vous pouvez également spécifier qu'un contrôle ToolStrip soit librement positionné sur le formulaire en le supprimant de son ToolStripContainer et en définissant sa propriété Dock
sur None
. Vous pouvez également spécifier sa position absolue en définissant la propriété Location. Découvrez comment : déplacer un ToolStrip hors d’un ToolStripContainer sur un formulaire.
Utilisez un ou plusieurs contrôles ToolStripPanel pour plus de souplesse, en particulier pour les applications MDI, ou si vous n'avez pas besoin d'un ToolStripContainer. Un ToolStripPanel offre un espace ancrable pour le positionnement et le rafting des contrôles ToolStrip, mais pas pour les contrôles traditionnels. Par défaut, la ToolStripPanel boîte à outils du concepteur n’apparaît pas, mais vous pouvez la placer en cliquant avec le bouton droit sur la boîte à outils, puis cliquez sur Choisir des éléments. Vous pouvez également accéder par programmation à ToolStripPanel, comme à toute autre classe.
ToolStrip, MenuStrip et StatusStrip permettent le dépassement de capacité des éléments. Ceci est similaire à la façon dont ces éléments se comportent dans les barres d'outils de Microsoft Office.
Voir aussi
.NET Desktop feedback