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