방법: Windows Forms의 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();