Dela via


Gör så här: Skapa och ange en anpassad renderare för ToolStrip-kontrollen i Windows-formulär

ToolStrip kontroller ger enkelt stöd till teman och formatmallar. Du kan uppnå helt anpassat utseende och beteende (utseende och känsla) genom att antingen ange egenskapen ToolStrip.Renderer eller egenskapen ToolStripManager.Renderer till en anpassad renderare.

Du kan tilldela renderare till varje enskild ToolStrip, MenuStrip, ContextMenuStripeller StatusStrip kontroll, eller så kan du använda egenskapen Renderer för att påverka alla objekt genom att ange egenskapen ToolStrip.RenderMode till ToolStripRenderMode.ManagerRenderMode.

Note

RenderMode returnerar endast Custom om värdet för ToolStrip.Renderer inte är null.

Så här skapar du en anpassad renderare

  1. Utöka klassen ToolStripRenderer.

  2. Implementera önskad anpassad rendering genom att åsidosätta lämpliga On… metoder

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

Ange att den anpassade renderaren ska vara den aktuella renderaren

  1. Om du vill ange den anpassade renderaren för en ToolStripanger du egenskapen ToolStrip.Renderer till den anpassade renderaren.

    toolStrip1.Renderer = New RedTextRenderer()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. Eller för att ange den anpassade renderaren för alla ToolStrip klasser som finns i ditt program: Ange egenskapen ToolStripManager.Renderer till den anpassade renderaren och ange egenskapen RenderMode till ManagerRenderMode.

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

Se även