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
Estendere la classe ToolStripRenderer.
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
Per assegnare il renderer personalizzato a un ToolStrip, imposta la proprietà ToolStrip.Renderer sul renderer personalizzato.
toolStrip1.Renderer = New RedTextRenderer()
toolStrip1.Renderer = new RedTextRenderer();
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
.NET Desktop feedback