Практическое руководство. Создание и определение пользовательского средства визуализации для элемента управления ToolStrip в Windows Forms
Обновлен: Ноябрь 2007
Элементы управления ToolStrip обеспечивают удобную поддержку тем и стилей. Присвоив свойству ToolStrip.Renderer или ToolStripManager.Renderer пользовательское средство отрисовки, можно настроить внешний вид и поведение произвольным образом.
Можно назначить средства отрисовки каждому отдельному элементу ToolStrip, MenuStrip, ContextMenuStrip или StatusStrip, либо можно задать средство отрисовки для всех объектов с помощью свойства Renderer, указав ToolStripRenderMode.ManagerRenderMode в качестве значения свойства ToolStrip.RenderMode.
Примечание. |
---|
Свойство RenderMode возвращает значение Custom, только если значение свойства ToolStrip.Renderer отлично от null. |
Создание пользовательского средства отрисовки
Создайте расширение класса 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();
См. также
Основные понятия
Архитектура элемента управления ToolStrip
Технологии, положенные в основу работы элемента управления ToolStrip
Ссылки
Общие сведения об элементе управления ToolStrip (Windows Forms)