HOW TO:自訂繪製 ToolStrip 控制項
更新:2007 年 11 月
ToolStrip 控制項具有以下相關的轉譯類別 (繪製類別):
ToolStripSystemRenderer 提供作業系統的外觀和樣式。
ToolStripProfessionalRenderer 提供 Microsoft Office 的外觀和樣式。
ToolStripRenderer 是其他兩個轉譯類別的抽象基底類別。
若要自訂繪圖 (也稱為主控繪圖) ToolStrip,您可以覆寫其中一個轉譯類別,然後變更轉譯邏輯方面的設定。
下列程序描述自訂繪圖的相關內容
若要在提供的產生器之間切換
將 RenderMode 屬性設為您想要的 ToolStripRenderMode 值。
靜態 RenderMode 可利用 ManagerRenderMode 來決定應用程式的產生器。ToolStripRenderMode 的其他值有 Custom、Professional 和 System。
若要將 Microsoft Office 樣式的框線變更為直線
- 覆寫 ToolStripProfessionalRenderer.OnRenderToolStripBorder,但是請勿呼叫基底類別。
注意事項: |
---|
這個方法有一個版本專門提供給 ToolStripRenderer、ToolStripSystemRenderer 和 ToolStripProfessionalRenderer 使用。 |
若要變更 ProfessionalColorTable
覆寫 ProfessionalColorTable,然後變更想要的色彩。
[Visual Basic]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Me.Load Dim t As MyColorTable = New MyColorTable ToolStrip1.Renderer = New ToolStripProfessionalRenderer(t) End Sub Class MyColorTable Inherits ProfessionalColorTable Public Overrides ReadOnly Property ButtonPressedGradientBegin() As Color Get Return Color.Red End Get End Property Public Overrides ReadOnly Property ButtonPressedGradientMiddle() _ As System.Drawing.Color Get Return Color.Blue End Get End Property Public Overrides ReadOnly Property ButtonPressedGradientEnd() _ As System.Drawing.Color Get Return Color.Green End Get End Property Public Overrides ReadOnly Property ButtonSelectedGradientBegin() _ As Color Get Return Color.Yellow End Get End Property Public Overrides ReadOnly Property ButtonSelectedGradientMiddle() As System.Drawing.Color Get Return Color.Orange End Get End Property Public Overrides ReadOnly Property ButtonSelectedGradientEnd() _ As System.Drawing.Color Get Return Color.Violet End Get End Property End Class
若要變更應用程式中所有 ToolStrip 控制項的轉譯
請使用 ToolStripManager.RenderMode 屬性來選擇其中一個提供的產生器。
請使用 ToolStripManager.Renderer 來指派自訂的產生器。
請確認 ToolStrip.RenderMode 已設為 ManagerRenderMode 的預設值。
若要關閉整個應用程式的 Microsoft Office 色彩
- 將 ToolStripManager.VisualStylesEnabled 設為 false。
若要關閉某個 ToolStrip 控制項的 Microsoft Office 色彩
請使用類似下列程式碼範例的程式碼。
[Visual Basic]
Dim colorTable As ProfessionalColorTable() colorTable.UseSystemColors = True Dim toolStrip.Renderer As ToolStripProfessionalRenderer(colorTable)
[C#]
ProfessionalColorTable colorTable = new ProfessionalColorTable(); colorTable.UseSystemColors = true; toolStrip.Renderer = new ToolStripProfessionalRenderer(colorTable);
請參閱
工作
HOW TO:建立和設定 Windows Form 中的 ToolStrip 控制項自訂產生器