共用方式為


如何:建立和設定 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  
    
    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();  
    

另請參閱