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

ToolStrip 控件可以轻松支持主题和样式。 可以通过将 ToolStrip.Renderer 属性或 ToolStripManager.Renderer 属性设置为自定义呈现器来实现完全自定义的外观和体验。

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

说明

仅当 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  
    
    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()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. 或者为应用程序中包含的所有 ToolStrip 类设置自定义呈现器:将 ToolStripManager.Renderer 属性设置为自定义呈现器,并将 RenderMode 属性设置为 ManagerRenderMode

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

另请参阅