Поделиться через


Практическое руководство. Пользовательская прорисовка элемента управления ToolStrip

Обновлен: Ноябрь 2007

Элементы управления ToolStrip имеют следующие связанные классы отрисовки.

  • ToolStripSystemRenderer поддерживает внешний вид и стиль операционной системы.

  • ToolStripProfessionalRenderer поддерживает внешний вид и стиль Microsoft Office.

  • ToolStripRenderer является абстрактным базовым классом для двух других классов отрисовки.

Для пользовательской прорисовки (так же известной, как прорисовка владельцем) элемента управления ToolStrip можно переопределить один из классов средства отрисовки и изменить перспективу логики отрисовки.

Дополнительные сведения см. в разделах Пример пользовательской отрисовки элемента управления.

В следующих процедурах описаны различные аспекты пользовательской прорисовки.

Переключение между доступными средствами отрисовки

Изменение границ стилей в Microsoft Office на прямые

ms171698.alert_note(ru-ru,VS.90).gifПримечание.

Существует версия этого метода для 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 в приложении

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

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

  3. Убедитесь, что свойство ToolStrip.RenderMode имеет значение по умолчанию ManagerRenderMode.

Отключение цвета в Microsoft Office для всего приложения

Отключение цвета в 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);
    

См. также

Задачи

Практическое руководство. Создание и определение пользовательского средства визуализации для элемента управления ToolStrip в Windows Forms

Основные понятия

Элементы управления Windows Forms со встроенной поддержки рисования владельцем

Ссылки

Общие сведения об элементе управления ToolStrip (Windows Forms)

ToolStripSystemRenderer

ToolStripProfessionalRenderer

ToolStripRenderer