Partager via


Résumé de la technologie ToolStrip

Cette rubrique résume les informations relatives au contrôle ToolStrip et aux classes qui le prennent en charge.

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

Espaces de noms

System.Windows.Forms

Background

À l'aide du contrôle ToolStrip et de 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 ToolStrip et ses classes permettent les améliorations suivantes sur les contrôles précédents :

  • Un modèle d'événement plus cohérent.

  • Un comportement au moment du design plus cohérent qui contient des listes de tâches et des éditeurs de collections d'éléments.

  • Rendu personnalisé à l'aide de ToolStripManager et ToolStripRenderer.

  • Rafting intégré (partage de l'espace horizontal ou vertical dans la zone des outils lorsqu'elle est ancrée) à l'aide de ToolStripContainer et ToolStripPanel.

  • Réorganisation au moment du design et de l'exécution des éléments à l'aide de la propriété AllowItemReorder.

  • Réadressage des éléments vers un menu de dépassement de capacité à l'aide de la propriété CanOverflow.

  • Emplacement du contrôle complètement configurable à l'aide de ToolStripContainer, ToolStripPanel et ToolStripContentPanel.

  • Hébergement des contrôles ToolStrip traditionnels ou personnalisés à l'aide de ToolStripControlHost.

  • 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, étendus afin que chaque implémentation prenne en compte le comportement approprié. Les contrôles qui dérivent de ToolStripItem sont répertoriés dans le tableau suivant. La classe de base ToolStrip gère la peinture, les entrées d'utilisateur ainsi que les événements de glisser-déplacer pour ces contrôles.

Les contrôles ToolStrip, MenuStrip, ContextMenuStrip et StatusStrip remplacent les précédents contrôles de barre d'outils, menu, menu contextuel et barre d'état, même si ces contrôles sont conservés à des fins de compatibilité descendante.

Présentation des classes ToolStrip en un clin d'œil

Le tableau suivant représente les classes ToolStrip groupées par zone de technologie.

Zone technologique

Classe

Conteneurs de barres d'outils, d'états et de menus

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 design ToolStrip

La famille de contrôles ToolStrip fournit un ensemble riche d'outils et de modèles pour l'édition et la définition sur place de l'interface utilisateur, ce qui permet de créer rapidement une application en état de fonctionner.

Boîtes de dialogue des tâches

Dans Visual Studio, un clic sur la balise active d'un contrôle dans le concepteur affiche une liste des tâches permettant d'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 et sélectionnez Modifier les éléments dans le menu contextuel, l'éditeur de collections du contrôle s'affiche. Les éditeurs de collections permettent d'ajouter, supprimer et réorganiser les éléments contenus dans le contrôle. Vous pouvez également afficher et modifier les propriétés du contrôle et des éléments du contrôle.

Hébergement de 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 COM dans un ToolStripControlHost.

Pour obtenir un exemple d'hébergement de contrôles, consultez Comment : inclure un contrôle Windows Forms dans un wrapper avec ToolStripControlHost.

Rendu

Les classes ToolStrip implémentent un schéma de rendu qui est considérablement différent des autres contrôles Windows Forms. À l'aide de ce schéma, vous pouvez appliquer facilement des styles et des thèmes.

Pour appliquer un style à ToolStrip et à tous les objets ToolStripItem qu'il contient, vous ne devez pas gérer l'événement Paint pour chaque élément. Il vous suffit d'affecter à la propriété RenderMode l'une des valeurs ToolStripRenderMode à l'exception de la valeur Custom. Vous pouvez également affecter directement à Renderer toute classe qui hérite de la classe ToolStripRenderer. La définition de cette propriété définit automatiquement le RenderMode.

Vous pouvez appliquer le même style à plusieurs objets ToolStrip de la même application en affectant à la propriété RenderMode le ManagerRenderMode et en affectant à la propriété RenderMode ou Renderer le ToolStripManagerRenderMode souhaité ou la valeur ToolStripRenderer, respectivement.

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

Styles et thèmes

ToolStrip et les classes associées offrent un moyen simple de prise en charge des styles visuels et d'un aspect personnalisé qui ne nécessite pas la substitution des méthodes OnPaint pour chaque élément. Utilisez DisplayStyle et les propriétés RenderMode et Renderer.

Rafting et ancrage

Vous pouvez effectuer un rafting, un ancrage ou un positionnement absolu des contrôles ToolStrip. Les éléments ToolStrip sont disposés par le LayoutEngine du conteneur.

Le rafting est la capacité des barres d'outils à partager l'espace horizontal ou vertical. Un formulaire Windows peut avoir un ToolStripContainer qui possède à son tour des panneaux sur les côtés gauche, droit, supérieur et inférieur permettant de positionner et d'effectuer le rafting des contrôles ToolStrip, MenuStrip et StatusStrip. Plusieurs contrôles ToolStrip s'empilent verticalement si vous les placez dans le ToolStripContainer gauche ou droit. Ils s'empilent horizontalement si vous les placez dans le ToolStripContainer supérieur ou inférieur. Vous pouvez utiliser le ToolStripContentPanel central du ToolStripContainer pour positionner les contrôles traditionnels sur le formulaire.

Un ou tous les contrôles ToolStripContainer sont directement sélectionnables au moment du design et peuvent être supprimés. Vous pouvez développer et réduire un ToolStripContainer et le redimensionner avec les contrôles qu'il contient.

L'ancrage consiste à spécifier l'emplacement simple d'un contrôle sur la gauche, la droite, le haut ou le bas du formulaire.

L'avantage du rafting par rapport à l'ancrage réside dans le fait que les contrôles ToolStrip, MenuStrip et StatusStrip peuvent partager l'espace horizontal ou vertical avec d'autres contrôles.

Au lieu d'utiliser le rafting, la plupart des contrôles ToolStrip peuvent être ancrés au formulaire comme les autres. Vous pouvez également spécifier qu'un contrôle ToolStrip soit librement positionné sur le formulaire en le supprimant de son ToolStripContainer et en affectant à sa propriété Dock la valeur None, ou vous pouvez spécifier sa position absolue en définissant la propriété Location respective. Consultez Comment : déplacer un ToolStrip hors d'un ToolStripContainer dans un formulaire.

Utilisez un ou plusieurs contrôles ToolStripPanel pour plus de souplesse, en particulier pour les applications d'interface multidocument (MDI, Multiple Document Interface), ou si vous n'avez pas besoin d'un ToolStripContainer. Un ToolStripPanel fournit de l'espace ancrable pour l'emplacement et le rafting des contrôles ToolStrip, mais pas des contrôles traditionnels. Par défaut, le ToolStripPanel n'apparaît pas dans la Boîte à outils du concepteur, mais vous pouvez l'y placer en cliquant avec le bouton droit sur la Boîte à outils, puis en cliquant sur Choisir les éléments. Vous pouvez également accéder par programme au ToolStripPanel comme à toute autre classe.

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

Voir aussi

Référence

Vue d'ensemble du contrôle ToolStrip (Windows Forms)

Concepts

Architecture du contrôle ToolStrip