HOW TO:建立和設定 Windows Form 中的 ToolStrip 控制項自訂產生器
更新:2007 年 11 月
ToolStrip 控制項提供了主題和樣式的簡單支援。藉由將 ToolStrip.Renderer 屬性或 ToolStripManager.Renderer 屬性設為自訂產生器,便可完全自訂外觀和行為 (外觀及操作)。
您可以將產生器指派給每個個別 ToolStrip、MenuStrip、ContextMenuStrip 或 StatusStrip 控制項,或者將 ToolStrip.RenderMode 屬性設為 ToolStripRenderMode.ManagerRenderMode,此時只要使用 Renderer 屬性就能影響所有物件。
注意事項: |
---|
只要 ToolStrip.Renderer 值不為 null,RenderMode 就會傳回 Custom。 |
若要建立自訂產生器
擴充 ToolStripRenderer 類別。
藉由覆寫適當的 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); } }
若要將自訂產生器設定為目前產生器
若要為某一個 ToolStrip 設定自訂產生器,請將 ToolStrip.Renderer 屬性設為自訂產生器。
toolStrip1.Renderer = New RedTextRenderer()
[C#]
toolStrip1.Renderer = new RedTextRenderer();
或者,若要為所有 ToolStrip 類別設定自訂產生器,請將 ToolStripManager.Renderer 屬性設為自訂產生器並將 RenderMode 屬性設為 ManagerRenderMode。
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode ToolStripManager.Renderer = New RedTextRenderer()
[C#]
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode; ToolStripManager.Renderer = new RedTextRenderer();