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

ToolStrip ovládací prvky poskytují snadnou podporu motivům a stylům. Zcela vlastní vzhled a chování (vzhled a chování) můžete dosáhnout nastavením ToolStrip.Renderer vlastnosti nebo ToolStripManager.Renderer vlastnosti na vlastní renderer.

Ke každému jednotlivému ToolStripobjektu , , MenuStripContextMenuStripnebo StatusStrip ovládacímu prvku můžete přiřadit renderery, nebo můžete použít Renderer vlastnost k ovlivnění všech objektů nastavením ToolStrip.RenderMode vlastnosti 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. ToolStripRenderer Rozšiřte třídu.

  2. Implementujte požadované vlastní vykreslování přepsáním odpovídajících členů Při...

    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 ToolStrip.Renderer vlastnost na vlastní renderer.

    toolStrip1.Renderer = New RedTextRenderer()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. Nebo nastavit vlastní renderer pro všechny ToolStrip třídy 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é