Comment : créer et définir un convertisseur personnalisé pour le contrôle ToolStrip dans les Windows Forms

ToolStrip les contrôles offrent une prise en charge facile des thèmes et des styles. Vous pouvez obtenir une apparence et un comportement complètement personnalisés (apparence) en définissant la ToolStrip.Renderer propriété ou la ToolStripManager.Renderer propriété sur un renderer personnalisé.

Vous pouvez affecter des renderers à chaque individu ToolStrip, ou ContextMenuStripStatusStripMenuStripcontrôle, ou vous pouvez utiliser la Renderer propriété pour affecter tous les objets en définissant la ToolStrip.RenderMode propriété ToolStripRenderMode.ManagerRenderModesur .

Remarque

RenderMode retourne Custom uniquement si la valeur de ToolStrip.Renderer n’est pas null.

Pour créer un renderer personnalisé

  1. Étendez la classe ToolStripRenderer.

  2. Implémenter le rendu personnalisé souhaité en remplaçant 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  
    
    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 renderer personnalisé comme renderer actuel

  1. Pour définir le renderer personnalisé pour un ToolStrip, définissez la ToolStrip.Renderer propriété sur le renderer personnalisé.

    toolStrip1.Renderer = New RedTextRenderer()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. Ou pour définir le renderer personnalisé pour toutes les ToolStrip classes contenues dans votre application : définissez la ToolStripManager.Renderer propriété sur le renderer personnalisé et définissez la RenderMode propriété ManagerRenderModesur .

    toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode  
    ToolStripManager.Renderer = New RedTextRenderer()  
    
    toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode;  
    ToolStripManager.Renderer = new RedTextRenderer();  
    

Voir aussi