다음을 통해 공유


방법: Windows Forms에서 ToolStrip 컨트롤에 대한 사용자 지정 렌더러 만들기 및 설정

ToolStrip 컨트롤은 테마와 스타일을 쉽게 지원합니다. ToolStrip.Renderer 속성 또는 ToolStripManager.Renderer 속성을 사용자 지정 렌더러로 설정하여 완전히 사용자 지정 모양과 동작(모양 및 느낌)을 달성할 수 있습니다.

각 개별 ToolStrip, MenuStrip, ContextMenuStrip 또는 StatusStrip 컨트롤에 렌더러를 할당하거나 ToolStrip.RenderMode 속성을 ToolStripRenderMode.ManagerRenderMode(으)로 설정하여 Renderer 속성을 사용하여 모든 개체에 영향을 줄 수 있습니다.

참고

RenderModeToolStrip.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. 하나의 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();  
    

추가 정보