方法 : Windows フォームに ToolStrip コントロールのカスタム レンダラを作成して設定する

更新 : 2007 年 11 月

ToolStrip コントロールは、テーマとスタイルを簡単に設定するための機能をサポートします。ToolStrip.Renderer プロパティまたは ToolStripManager.Renderer プロパティをカスタム レンダラに設定すると、まったく独自の外観と操作性 (ルック アンド フィール) を実現できます。

ToolStripMenuStripContextMenuStrip、または StatusStrip の各コントロールに個別にレンダラを割り当てたり、ToolStrip.RenderMode プロパティを ToolStripRenderMode.ManagerRenderMode に設定してすべてのオブジェクトに作用する 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
    

    [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);
        }
    }
    

カスタム レンダラを現在のレンダラとして設定するには

  1. 特定のToolStrip に対してカスタム レンダラを設定するには、ToolStrip.Renderer プロパティをカスタム レンダラに設定します。

    toolStrip1.Renderer = New RedTextRenderer()
    

    [C#]

    toolStrip1.Renderer = new RedTextRenderer();
    
  2. または、アプリケーションに含まれるすべての ToolStrip クラスに対してカスタム レンダラを設定するには、ToolStripManager.Renderer プロパティをカスタム レンダラに設定し、RenderMode プロパティを ManagerRenderMode に設定します。

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

    [C#]

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

参照

概念

ToolStrip コントロールのアーキテクチャ

ToolStrip テクノロジの概要

参照

Renderer

ToolStripRenderer

RenderMode

ToolStrip コントロールの概要 (Windows フォーム)