如何:在 Windows 窗体中为 ToolStrip 控件创建和设置自定义呈现器

ToolStrip 控件提供了针对主题和样式的简易支持。 通过将 ToolStrip.Renderer 属性或 ToolStripManager.Renderer 属性设置为自定义呈现器,可以完全实现自定义的外观和行为(观感)。

您可以为每个 ToolStripMenuStripContextMenuStripStatusStrip 控件分配呈现器,也可以通过将 ToolStrip.RenderMode 属性设置为 ToolStripRenderMode.ManagerRenderMode 来使用 Renderer 属性影响所有对象。

提示

只有当 ToolStrip.Renderer 的值不是 null 时,RenderMode 才会返回 Custom

创建自定义呈现器

  1. 扩展 ToolStripRenderer 类。

  2. 通过重写适当的 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);
        }
    }
    

将自定义体现程序设置为当前呈现器

  1. 若要为一个 ToolStrip 设置自定义呈现器,请将 ToolStrip.Renderer 属性设置为自定义呈现器。

    toolStrip1.Renderer = New RedTextRenderer()
    

    [C#]

    toolStrip1.Renderer = new RedTextRenderer();
    
  2. 或者,若要为应用程序中包含的所有 ToolStrip 类设置自定义呈现器,请将 ToolStripManager.Renderer 属性设置为自定义呈现器并将 RenderMode 属性设置为 ManagerRenderMode

    toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode
    ToolStripManager.Renderer = New RedTextRenderer()
    

    [C#]

    toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode;
    ToolStripManager.Renderer = new RedTextRenderer();
    

请参见

参考

Renderer

ToolStripRenderer

RenderMode

ToolStrip 控件概述(Windows 窗体)

概念

ToolStrip 控件体系结构

ToolStrip 技术摘要