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 (Look & Feel) erreichen, indem Sie entweder die ToolStrip.Renderer- oder die ToolStripManager.Renderer-Eigenschaft 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.
Anmerkung
RenderMode gibt nur 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-Element 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 ManagerRenderModefest.
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode ToolStripManager.Renderer = New RedTextRenderer()
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode; ToolStripManager.Renderer = new RedTextRenderer();
Weitere Informationen
.NET Desktop feedback