Procedura: creare e impostare un renderer personalizzato per il controllo ToolStrip in Windows Form
I controlli ToolStrip forniscono un semplice supporto per temi e stili. Per ottenere un aspetto e un comportamento completamente personalizzati, impostare la proprietà ToolStrip.Renderer o la proprietà ToolStripManager.Renderer su un renderer personalizzato.
È possibile assegnare renderer a ogni singolo controllo ToolStrip, MenuStrip, ContextMenuStrip o StatusStrip oppure è possibile utilizzare la proprietà Renderer per influenzare tutti gli oggetti impostando la proprietà ToolStrip.RenderMode su ToolStripRenderMode.ManagerRenderMode.
Nota
La proprietà RenderMode restituisce Custom solo se il valore della proprietà ToolStrip.Renderer è diverso da null.
Per creare un renderer personalizzato
Estendere la classe ToolStripRenderer.
Implementare il rendering personalizzato desiderato eseguendo l'override di 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
[C#]
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 come corrente il renderer personalizzato
Per impostare il renderer personalizzato per un ToolStrip, impostare la proprietà ToolStrip.Renderer sul renderer personalizzato.
toolStrip1.Renderer = New RedTextRenderer()
[C#]
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()
[C#]
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode; ToolStripManager.Renderer = new RedTextRenderer();
Vedere anche
Riferimenti
Cenni preliminari sul controllo ToolStrip (Windows Form)