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

ToolStrip 控制項可讓您輕鬆支援主題和樣式。 您可以將 屬性或 ToolStripManager.Renderer 屬性設定 ToolStrip.Renderer 為自訂轉譯器,以達成完全自訂的外觀和行為(外觀和風格)。

您可以將屬性設定 ToolStrip.RenderModeToolStripRenderMode.ManagerRenderMode 為 ,將轉譯器指派給每個個別 ToolStripMenuStripContextMenuStripStatusStrip 控制項,或使用 Renderer 屬性來影響所有物件。

注意

RenderMode只有在 的值 ToolStrip.Renderer 不是 null 時,才會傳 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 為自訂轉譯器,並將 屬性設定 RenderModeManagerRenderMode

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

另請參閱