Vorgehensweise: Erstellen und Festlegen eines benutzerdefinierten Renderers für das ToolStrip-Steuerelement in Windows Forms

ToolStrip-Steuerelemente bieten einfache Unterstützung für Designs und Stile. Sie können ein vollständig benutzerdefiniertes Aussehen und Verhalten erreichen, indem Sie entweder die Eigenschaft ToolStrip.Renderer oder ToolStripManager.Renderer auf einen benutzerdefinierten Renderer festlegen.

Sie können jedem einzelnen ToolStrip-, MenuStrip-, ContextMenuStrip- oder StatusStrip-Steuerelement einen Renderer zuweisen oder die Renderer-Eigenschaft verwenden, um alle Objekte zu beeinflussen, indem Sie die ToolStrip.RenderMode-Eigenschaft auf ToolStripRenderMode.ManagerRenderMode festlegen.

Hinweis

RenderMode gibt nur dann Custom zurück, wenn der Wert von ToolStrip.Renderer nicht null ist.

So erstellen Sie einen benutzerdefinierten Renderer

  1. Erweitern Sie die ToolStripRenderer-Klasse.

  2. Implementieren Sie das gewünschte benutzerdefinierte Rendering, indem Sie die entsprechenden On...-Member überschreiben.

    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);  
        }  
    }  
    

So legen Sie den benutzerdefinierten Renderer auf den aktuellen Renderer fest

  1. Um den benutzerdefinierten Renderer für ein ToolStrip festzulegen, legen Sie die ToolStrip.Renderer-Eigenschaft auf den benutzerdefinierten Renderer fest.

    toolStrip1.Renderer = New RedTextRenderer()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. Oder um den benutzerdefinierten Renderer für alle ToolStrip-Klassen in Ihrer Anwendung festzulegen, legen Sie die ToolStripManager.Renderer-Eigenschaft auf den benutzerdefinierten Renderer und die RenderMode-Eigenschaft auf ManagerRenderMode fest.

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

Siehe auch