Procedura: creare e impostare un renderer personalizzato per il controllo ToolStrip in Windows Form

ToolStrip i controlli offrono un supporto semplice per temi e stili. È possibile ottenere un aspetto e un comportamento completamente personalizzati (aspetto) impostando la ToolStrip.Renderer proprietà o la ToolStripManager.Renderer proprietà su un renderer personalizzato.

È possibile assegnare renderer a ogni singolo ToolStripcontrollo , MenuStrip, ContextMenuStripo StatusStrip oppure è possibile utilizzare la Renderer proprietà per influire su tutti gli oggetti impostando la ToolStrip.RenderMode proprietà su ToolStripRenderMode.ManagerRenderMode.

Nota

RenderMode restituisce Custom solo se il valore di ToolStrip.Renderer non nullè .

Per creare un renderer personalizzato

  1. Estendere la classe ToolStripRenderer.

  2. Implementare il rendering personalizzato desiderato eseguendo l'override dei membri On... appropriati

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

Per impostare il renderer personalizzato come renderer corrente

  1. Per impostare il renderer personalizzato per un ToolStripoggetto , impostare la ToolStrip.Renderer proprietà sul renderer personalizzato.

    toolStrip1.Renderer = New RedTextRenderer()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. In alternativa, per impostare il renderer personalizzato per tutte le ToolStrip classi contenute nell'applicazione: impostare la ToolStripManager.Renderer proprietà sul renderer personalizzato e impostare la RenderMode proprietà su ManagerRenderMode.

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

Vedi anche