Condividi tramite


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

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

È possibile assegnare motori di rendering a ogni singolo controllo ToolStrip, MenuStrip, ContextMenuStripo StatusStrip oppure utilizzare la proprietà Renderer per agire su tutti gli oggetti impostando la proprietà ToolStrip.RenderMode a 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 appropriati di On...

    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 quello corrente

  1. Per assegnare il renderer personalizzato a un ToolStrip, imposta la proprietà ToolStrip.Renderer sul renderer personalizzato.

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

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

Vedere anche