Sdílet prostřednictvím


Postupy: Vytvoření a nastavení vlastního rendereru pro ovládací prvek ToolStrip ve Windows Forms

ToolStrip ovládací prvky poskytují snadnou podporu motivům a stylům. Plně přizpůsobený vzhled a chování lze dosáhnout nastavením vlastnosti ToolStrip.Renderer nebo ToolStripManager.Renderer na vlastní renderer.

K jednotlivým ToolStrip, MenuStrip, ContextMenuStripnebo ovládacím prvkům StatusStrip můžete přiřadit vykreslovací moduly nebo můžete použít vlastnost Renderer, která ovlivní všechny objekty nastavením vlastnosti ToolStrip.RenderMode na ToolStripRenderMode.ManagerRenderMode.

Poznámka

RenderMode vrátí Custom pouze v případě, že hodnota ToolStrip.Renderer není null.

Vytvoření vlastního rendereru

  1. Rozšiřte třídu ToolStripRenderer.

  2. Implementujte požadované vlastní vykreslování přepsáním příslušných On... members

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

Nastavení vlastního rendereru na aktuální renderer

  1. Chcete-li nastavit vlastní renderer pro jeden ToolStrip, nastavte vlastnost ToolStrip.Renderer na vlastní renderer.

    toolStrip1.Renderer = New RedTextRenderer()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. Nebo nastavit vlastní renderer pro všechny třídy ToolStrip obsažené v aplikaci: Nastavte ToolStripManager.Renderer vlastnost na vlastní renderer a nastavte RenderMode vlastnost na ManagerRenderMode.

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

Viz také