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

System.Windows.Forms

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 et ToolStripRenderer.

  • Un rafting intégré (partage de l'espace horizontal ou vertical dans la zone d'outils quand celle-ci est ancrée) avec ToolStripContainer et ToolStripPanel.

  • 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 et ToolStripContentPanel.

  • L'hébergement de contrôles ToolStrip, traditionnels ou personnalisés à l'aide de ToolStripControlHost.

  • La fusion des contrôles ToolStrip à l'aide de ToolStripPanel.

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