방법: ToolStrip 컨트롤 그리기 사용자 지정
ToolStrip 컨트롤에는 다음과 같은 연결된 렌더링(그리기) 클래스가 있습니다.
ToolStripSystemRenderer는 운영 체제의 모양과 스타일을 제공합니다.
ToolStripProfessionalRenderer는 Microsoft Office의 모양과 스타일을 제공합니다.
ToolStripRenderer는 다른 두 렌더링 클래스에 대한 추상 기본 클래스입니다.
렌더러 클래스 중 하나를 재지정하고 렌더링 논리의 항목을 변경하여 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 Forms의 ToolStrip 컨트롤에 대한 사용자 지정 렌더러 만들기 및 설정
참조
ToolStrip 컨트롤 개요(Windows Forms)