Практическое руководство. Пользовательская прорисовка элемента управления ToolStrip
Элементы управления ToolStrip имеют следующие связанные классы отрисовки:
ToolStripSystemRenderer предоставляет внешний вид и стиль операционной системы.
ToolStripProfessionalRenderer предоставляет внешний вид и стиль Microsoft Office.
ToolStripRenderer является абстрактным базовым классом для двух других классов отрисовки.
Для настраиваемой отрисовки (также известной как рисование владельцем) элемента управления ToolStrip можно переопределить один из классов отрисовки и изменить перспективу логики отрисовки.
В приведенных ниже процедурах описаны различные аспекты настраиваемой отрисовки.
Переключение между доступными средствами отрисовки
Задайте для свойства RenderMode требуемое значение ToolStripRenderMode.
Для ManagerRenderMode статический режим RenderMode определяет средство отрисовки для приложения. Другие значения ToolStripRenderMode: Custom, Professional и System.
Изменение границ в стиле Microsoft Office на прямые
- Переопределите ToolStripProfessionalRenderer.OnRenderToolStripBorder, но не вызывайте базовый класс.
Note
Существуют версии этого метода для ToolStripRenderer, ToolStripSystemRenderer и ToolStripProfessionalRenderer.
Изменение ProfessionalColorTable
Переопределите ProfessionalColorTable и измените нужные цвета.
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
.
Отключение цветов в стиле Microsoft Office для одного элемента управления ToolStrip
Используйте код, аналогичный приведенному ниже.
Dim colorTable As ProfessionalColorTable() colorTable.UseSystemColors = True Dim toolStrip.Renderer As ToolStripProfessionalRenderer(colorTable)
ProfessionalColorTable colorTable = new ProfessionalColorTable(); colorTable.UseSystemColors = true; toolStrip.Renderer = new ToolStripProfessionalRenderer(colorTable);
См. также
- ToolStripSystemRenderer
- ToolStripProfessionalRenderer
- ToolStripRenderer
- Элементы управления Windows Forms со встроенной поддержки рисования владельцем
- Практическое руководство. Создание и определение пользовательского средства визуализации для элемента управления ToolStrip в Windows Forms
- Общие сведения об элементе управления ToolStrip