Практическое руководство. Создание и определение пользовательского средства визуализации для элемента управления ToolStrip в Windows Forms

Обновлен: Ноябрь 2007

Элементы управления ToolStrip обеспечивают удобную поддержку тем и стилей. Присвоив свойству ToolStrip.Renderer или ToolStripManager.Renderer пользовательское средство отрисовки, можно настроить внешний вид и поведение произвольным образом.

Можно назначить средства отрисовки каждому отдельному элементу ToolStrip, MenuStrip, ContextMenuStrip или StatusStrip, либо можно задать средство отрисовки для всех объектов с помощью свойства Renderer, указав ToolStripRenderMode.ManagerRenderMode в качестве значения свойства ToolStrip.RenderMode.

dy4ys6z6.alert_note(ru-ru,VS.90).gifПримечание.

Свойство RenderMode возвращает значение Custom, только если значение свойства ToolStrip.Renderer отлично от null.

Создание пользовательского средства отрисовки

  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
    

    [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);
        }
    }
    

Установка настраиваемого средства отрисвоки в качестве текущего

  1. Чтобы применить пользовательское средство отрисовки к отдельному элементу управления ToolStrip, задайте средство отрисовки в качестве значения свойства ToolStrip.Renderer.

    toolStrip1.Renderer = New RedTextRenderer()
    

    [C#]

    toolStrip1.Renderer = new RedTextRenderer();
    
  2. Чтобы применить пользовательское средство отрисовки ко всем классам ToolStrip, используемым в приложении, задайте средство отрисовки в качестве значения свойства ToolStripManager.Renderer, а свойству RenderMode присвойте значение ManagerRenderMode.

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

    [C#]

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

См. также

Основные понятия

Архитектура элемента управления ToolStrip

Технологии, положенные в основу работы элемента управления ToolStrip

Ссылки

Renderer

ToolStripRenderer

RenderMode

Общие сведения об элементе управления ToolStrip (Windows Forms)