如何:在 Windows 窗体中为 ToolStrip 控件创建和设置自定义呈现器
ToolStrip 控件可以轻松支持主题和样式。 可通过将 ToolStrip.Renderer 属性或 ToolStripManager.Renderer 属性设置为自定义呈现器来实现完全自定义的外观和行为(外观和使用体验)。
可以将呈现器分配给每个单独的 ToolStrip、MenuStrip、ContextMenuStrip 或 StatusStrip 控件,也可以通过将 ToolStrip.RenderMode 属性设置为 ToolStripRenderMode.ManagerRenderMode 来使用 Renderer 属性影响所有对象。
注意
只有当 ToolStrip.Renderer 的值不为 null
时,RenderMode 才会返回 Custom。
创建自定义呈现器
扩展 ToolStripRenderer 类。
通过替代相应的 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); } }
将自定义呈现器设置为当前呈现器
若要为一个 ToolStrip 设置自定义呈现器,请将 ToolStrip.Renderer 属性设置为自定义呈现器。
toolStrip1.Renderer = New RedTextRenderer()
toolStrip1.Renderer = new RedTextRenderer();
或者为应用程序中包含的所有 ToolStrip 类设置自定义呈现器:将 ToolStripManager.Renderer 属性设置为自定义呈现器,并将 RenderMode 属性设置为 ManagerRenderMode。
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode ToolStripManager.Renderer = New RedTextRenderer()
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode; ToolStripManager.Renderer = new RedTextRenderer();