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