Практическое руководство. Создание и настройка пользовательского отрисовщика для элемента управления ToolStrip в Windows Forms
элементы управления ToolStrip обеспечивают простую поддержку тем и стилей. Вы можете достичь полностью настраиваемого внешнего вида и поведения (внешний вид и чувство), задав свойство ToolStrip.Renderer или свойство ToolStripManager.Renderer пользовательскому отрисовщику.
Вы можете назначить отрисовщики каждому отдельному ToolStrip, MenuStrip, ContextMenuStripили элементу управления StatusStrip или использовать свойство Renderer, чтобы повлиять на все объекты, задав для свойства ToolStrip.RenderMode значение ToolStripRenderMode.ManagerRenderMode.
Заметка
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
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()
toolStrip1.Renderer = new RedTextRenderer();
Или задать пользовательский отрисовщик для всех классов ToolStrip, содержащихся в приложении: задайте для свойства ToolStripManager.Renderer настраиваемый отрисовщик и задайте для свойства RenderMode значение ManagerRenderMode.
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode ToolStripManager.Renderer = New RedTextRenderer()
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode; ToolStripManager.Renderer = new RedTextRenderer();
См. также
- Renderer
- ToolStripRenderer
- RenderMode
- Обзор элемента управления ToolStrip
- Архитектура элемента управления ToolStrip
- Сводка технологии ToolStrip
.NET Desktop feedback