Vorgehensweise: Erstellen und Festlegen eines benutzerdefinierten Renderers für das ToolStrip-Steuerelement in Windows Forms
ToolStrip-Steuerelemente bieten einfache Unterstützung für Designs und Stile. Sie können ein vollständig benutzerdefiniertes Aussehen und Verhalten erreichen, indem Sie entweder die Eigenschaft ToolStrip.Renderer oder ToolStripManager.Renderer auf einen benutzerdefinierten Renderer festlegen.
Sie können jedem einzelnen ToolStrip-, MenuStrip-, ContextMenuStrip- oder StatusStrip-Steuerelement einen Renderer zuweisen oder die Renderer-Eigenschaft verwenden, um alle Objekte zu beeinflussen, indem Sie die ToolStrip.RenderMode-Eigenschaft auf ToolStripRenderMode.ManagerRenderMode festlegen.
Hinweis
RenderMode gibt nur dann Custom zurück, wenn der Wert von ToolStrip.Renderer nicht null
ist.
So erstellen Sie einen benutzerdefinierten Renderer
Erweitern Sie die ToolStripRenderer-Klasse.
Implementieren Sie das gewünschte benutzerdefinierte Rendering, indem Sie die entsprechenden On...-Member überschreiben.
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); } }
So legen Sie den benutzerdefinierten Renderer auf den aktuellen Renderer fest
Um den benutzerdefinierten Renderer für ein ToolStrip festzulegen, legen Sie die ToolStrip.Renderer-Eigenschaft auf den benutzerdefinierten Renderer fest.
toolStrip1.Renderer = New RedTextRenderer()
toolStrip1.Renderer = new RedTextRenderer();
Oder um den benutzerdefinierten Renderer für alle ToolStrip-Klassen in Ihrer Anwendung festzulegen, legen Sie die ToolStripManager.Renderer-Eigenschaft auf den benutzerdefinierten Renderer und die RenderMode-Eigenschaft auf ManagerRenderMode fest.
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode ToolStripManager.Renderer = New RedTextRenderer()
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode; ToolStripManager.Renderer = new RedTextRenderer();
Siehe auch
.NET Desktop feedback