方法 : Windows フォームに ToolStrip コントロールのカスタム レンダラを作成して設定する
更新 : 2007 年 11 月
ToolStrip コントロールは、テーマとスタイルを簡単に設定するための機能をサポートします。ToolStrip.Renderer プロパティまたは ToolStripManager.Renderer プロパティをカスタム レンダラに設定すると、まったく独自の外観と操作性 (ルック アンド フィール) を実現できます。
ToolStrip、MenuStrip、ContextMenuStrip、または StatusStrip の各コントロールに個別にレンダラを割り当てたり、ToolStrip.RenderMode プロパティを ToolStripRenderMode.ManagerRenderMode に設定してすべてのオブジェクトに作用する Renderer プロパティを使用したりできます。
メモ : |
---|
RenderMode は、ToolStrip.Renderer の値が null ではない場合のみ、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();