次の方法で共有


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

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  
    
    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. 1 つの ToolStripのカスタム レンダラーを設定するには、ToolStrip.Renderer プロパティをカスタム レンダラーに設定します。

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

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

関連項目