Show / Hide Table of Contents

Практическое руководство. Пользовательская прорисовка элемента управления 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 в приложении

  1. С помощью свойства ToolStripManager.RenderMode выберите одно из доступных средств отрисовки.

  2. Используйте ToolStripManager.Renderer для назначения пользовательского средства отрисовки.

  3. Убедитесь в том, что свойству 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
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX