Partager via


Résumé de la technologie ToolStrip

Cette rubrique récapitule les informations sur le contrôle ToolStrip et les classes qui prennent en charge son utilisation.

Le contrôle ToolStrip et ses classes associées fournissent une solution complète pour créer des barres d’outils, des barres d’état et des menus.

Espaces de noms

System.Windows.Forms

Arrière-plan

Avec le contrôle ToolStrip et ses classes associées, vous pouvez créer des fonctionnalités de barre d’outils avancées qui ont une apparence et un comportement cohérents et professionnels. Le contrôle et les classes ToolStrip offrent les améliorations suivantes sur les contrôles précédents :

  • Modèle d’événement plus cohérent.

  • Comportement plus cohérent au moment du design qui contient des listes de tâches et des éditeurs de collection d’éléments.

  • Rendu personnalisé avec 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ébordement de capacité avec la propriété CanOverflow.

  • Emplacement de contrôle entièrement configurable avec les ToolStripContainer, ToolStripPanelet 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 pour MenuStrip, ContextMenuStripet StatusStrip. Ces contrôles sont des conteneurs ToolStripItem qui héritent du comportement commun et de la gestion des événements, et sont étendus pour que chaque implémentation gère le comportement qui lui convient. 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, ContextMenuStripet StatusStrip remplacent la barre d’outils, le menu, le menu contextuel et les contrôles de barre d’état précédents, bien que ces contrôles soient conservés pour une compatibilité descendante.

Les classes ToolStrip en un clin d’œil

Le tableau suivant montre les classes ToolStrip regroupées par zone technologique.

Domaine technologique Classe
Conteneurs de barre d’outils, 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

ToolStrip Design-Time Fonctionnalités

La famille de contrôles ToolStrip fournit un ensemble complet d’outils et de modèles pour la modification sur place et la définition de la base de l’interface utilisateur afin de pouvoir créer rapidement une application opérationnelle.

Boîtes de dialogue de tâches

Dans Visual Studio, le fait de cliquer sur la balise active d’un contrôle dans le concepteur affiche une liste de tâches pour un accès pratique à de nombreuses commandes fréquemment utilisées.

Éditeurs de collections d’éléments

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 collection vous permettent d’ajouter, de supprimer et de réorganiser des éléments que le contrôle contient. Vous pouvez également afficher et modifier les propriétés du contrôle et des éléments du contrôle.

Contrôles d’hébergement

La classe ToolStripControlHost fournit des wrappers intégrés pour les contrôles ToolStripComboBox, ToolStripTextBoxet ToolStripProgressBar. Vous pouvez également héberger tout autre contrôle existant ou COM dans un ToolStripControlHost.

Pour un exemple d'hébergement de contrôle, consultez Comment encapsuler un contrôle Windows Forms avec ToolStripControlHost.

Rendu

ToolStrip classes implémentent un schéma de rendu sensiblement 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, vous n’avez pas à gérer l’événement Paint pour chaque élément. Au lieu de cela, vous pouvez définir la propriété RenderMode sur l’une des valeurs ToolStripRenderMode autres que Custom. Vous pouvez également définir l'Renderer directement sur n’importe quelle classe qui hérite de la classe ToolStripRenderer. La définition de cette propriété définit automatiquement la RenderMode.

Vous pouvez appliquer le même style à plusieurs objets ToolStrip dans la même application en réglant RenderMode sur ManagerRenderMode et en définissant la propriété RenderMode ou Renderer sur la valeur que vous souhaitez pour ToolStripManagerRenderMode ou ToolStripRenderer, respectivement.

Pour obtenir des exemples de rendu, consultez Comment : Créer et définir un rendu personnalisé pour le contrôle ToolStrip dans Windows Forms.

Styles et thèmes

ToolStrip et les classes associées offrent un moyen simple de prendre en charge les styles visuels et l’apparence personnalisée qui ne nécessitent pas de remplacer les méthodes OnPaint pour chaque élément. Utilisez les propriétés DisplayStyle, 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 rafting correspond à la capacité des barres d'outils à partager l'espace horizontal ou vertical. Un formulaire Windows peut comporter un ToolStripContainer qui, à son tour, comporte des panneaux sur les côtés gauche, droit, supérieur et inférieur du formulaire pour le positionnement et le rafting des contrôles ToolStrip, MenuStrip et StatusStrip. 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 en haut ou en bas de ToolStripContainer. 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. Une ToolStripContainer est extensible et rétractable, et elle se redimensionne avec les contrôles qu’elle contient.

L'ancrage consiste à spécifier l'emplacement simple d'un contrôle, c'est-à-dire, à gauche, à droite, en haut ou au bas 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 que le 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, ou vous pouvez spécifier sa position absolue en définissant la propriété Location respective. Consultez Guide pratique pour déplacer un ToolStrip hors d'un ToolStripContainer dans un formulaire.

Utilisez un ou plusieurs contrôles ToolStripPanel pour plus de flexibilité, en particulier pour les applications MDI (Multiple Document Interface), ou si vous n’avez pas besoin d’un ToolStripContainer. Un ToolStripPanel offre un espace pouvant être ancré pour le positionnement et le rafting des commandes ToolStrip, mais pas pour les commandes traditionnelles. Par défaut, le ToolStripPanel n’apparaît pas dans le concepteur Boîte à outils, mais vous pouvez le placer en cliquant avec le bouton droit sur la Boîte à outils, puis sur Choisir des éléments. Vous pouvez également accéder par programmation au ToolStripPanel comme n’importe quelle autre classe.

ToolStrip, MenuStrip et StatusStrip permettent le dépassement de capacité des éléments. Cela est similaire à la façon dont ces éléments se comportent dans les barres d’outils Microsoft Office.

Voir aussi