共用方式為


HOW TO:建立和設定 Windows Form 中的 ToolStrip 控制項自訂產生器

更新:2007 年 11 月

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();
    

請參閱

概念

ToolStrip 控制項架構

ToolStrip 技術摘要

參考

Renderer

ToolStripRenderer

RenderMode

ToolStrip 控制項概觀 (Windows Form)