如何:在 Windows 窗体中为 ToolStrip 控件创建和设置自定义呈现器
更新:2007 年 11 月
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
[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); } }
将自定义体现程序设置为当前呈现器
若要为一个 ToolStrip 设置自定义呈现器,请将 ToolStrip.Renderer 属性设置为自定义呈现器。
toolStrip1.Renderer = New RedTextRenderer()
[C#]
toolStrip1.Renderer = new RedTextRenderer();
或者,若要为应用程序中包含的所有 ToolStrip 类设置自定义呈现器,请将 ToolStripManager.Renderer 属性设置为自定义呈现器并将 RenderMode 属性设置为 ManagerRenderMode。
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode ToolStripManager.Renderer = New RedTextRenderer()
[C#]
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode; ToolStripManager.Renderer = new RedTextRenderer();