共用方式為


HOW TO:建立和設定 Windows Form 中的 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 Form)

概念

ToolStrip 控制項架構

ToolStrip 技術摘要