Comment : créer et définir un convertisseur personnalisé pour le contrôle ToolStrip dans les Windows Forms
Les contrôles ToolStrip fournissent une prise en charge simple pour les thèmes et les styles. Vous pouvez personnaliser totalement l'aspect et le comportement en affectant à la propriété ToolStrip.Renderer ou ToolStripManager.Renderer un convertisseur personnalisé.
Vous pouvez assigner des convertisseurs à chaque contrôle ToolStrip, MenuStrip, ContextMenuStrip ou StatusStrip ; vous pouvez également utiliser la propriété Renderer pour tous les objets en affectant à la propriété ToolStrip.RenderMode la valeur ToolStripRenderMode.ManagerRenderMode.
Notes
RenderMode ne retourne Custom que si la valeur de ToolStrip.Renderer n'est pas null.
Pour créer un convertisseur personnalisé
Étendez la classe ToolStripRenderer.
Implémentez le rendu personnalisé souhaité en substituant les membres On… appropriés
Public Class RedTextRenderer Inherits System.Windows.Forms.ToolStripRenderer Protected Overrides Sub OnRenderItemText(ByVal e As _ ToolStripItemTextRenderEventArgs) e.TextColor = Color.Red e.TextFont = New Font("Helvetica", 7, FontStyle.Bold) MyBase.OnRenderItemText(e) End Sub End Class
[C#]
public class RedTextRenderer : _ System.Windows.Forms.ToolStripRenderer { protected override void _ OnRenderItemText(ToolStripItemTextRenderEventArgs e) { e.TextColor = Color.Red; e.TextFont = new Font("Helvetica", 7, FontStyle.Bold); base.OnRenderItemText(e); } }
Pour définir le convertisseur personnalisé en tant que convertisseur actuel
Pour définir le convertisseur personnalisé pour ToolStrip, affectez à la propriété ToolStrip.Renderer le convertisseur personnalisé.
toolStrip1.Renderer = New RedTextRenderer()
[C#]
toolStrip1.Renderer = new RedTextRenderer();
De même, pour définir le convertisseur personnalisé pour toutes les classes ToolStrip contenues dans votre application, affectez à la propriété ToolStripManager.Renderer le convertisseur personnalisé et à la propriété RenderMode la valeur ManagerRenderMode.
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode ToolStripManager.Renderer = New RedTextRenderer()
[C#]
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode; ToolStripManager.Renderer = new RedTextRenderer();
Voir aussi
Référence
Vue d'ensemble du contrôle ToolStrip (Windows Forms)