方法 : ToolStrip コントロールをカスタム描画する
更新 : 2007 年 11 月
ToolStrip コントロールには、関連する次のレンダリング (描画) クラスがあります。
ToolStripSystemRenderer は、オペレーティング システムの外観とスタイルを提供します。
ToolStripProfessionalRenderer は、Microsoft Office の外観とスタイルを提供します。
ToolStripRenderer は、他の 2 つの描画クラスの抽象基本クラスです。
ToolStrip をカスタム描画 (オーナー描画とも呼ばれます) するには、レンダラ クラスのいずれかをオーバーライドし、レンダリング ロジックの要素を変更します。
ユーザー コントロールのカスタム描画のサンプル
ユーザー コントロールのカスタム描画のサンプル
次の手順では、カスタム描画のさまざまな側面について説明します。
設定されているレンダラを切り替えるには
RenderMode プロパティを任意の ToolStripRenderMode 値に設定します。
ManagerRenderMode では、静的 RenderMode によりアプリケーションのレンダラが決定します。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);
参照
処理手順
方法 : Windows フォームに ToolStrip コントロールのカスタム レンダラを作成して設定する