Como: Custom desenhar um controle ToolStrip

O ToolStrip controles têm procedimentos associados a classes de (pintura) de processamento:

Para desenhar de personalizado (também conhecido como desenho proprietário) um ToolStrip, você pode substituir uma das classes renderizador e alterar um aspecto da lógica de renderização.

Para obter mais informações, consulte Exemplo de controle do usuário de desenho personalizada e Exemplo de controle do usuário de desenho personalizada.

Os procedimentos a seguir descrevem vários aspectos do desenho personalizado.

Para alternar entre os renderizadores fornecidos

Para alterar as bordas da Microsoft Office–style de reta

ObservaçãoObservação

Há uma versão desse método para ToolStripRenderer, ToolStripSystemRenderer, e ToolStripProfessionalRenderer.

Para alterar o ProfessionalColorTable

  • Substituir ProfessionalColorTable e alterar as cores desejar.

    [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
    

Para alterar o processamento para todos os controles ToolStrip em seu aplicativo.

  1. Use o ToolStripManager.RenderMode propriedade para escolher um dos processadores fornecido.

  2. Use ToolStripManager.Renderer para atribuir um renderizador personalizado.

  3. Certifique-se de que ToolStrip.RenderMode é definido como o valor padrão de ManagerRenderMode.

Para desativar as cores de Microsoft Office para o aplicativo inteiro

Para desativar as cores de Microsoft Office para um controle de ToolStrip

  • Use código semelhante ao seguinte exemplo de código.

    [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);
    

Consulte também

Tarefas

Como: Criar e definir um renderizador personalizado para o controle ToolStrip no Windows Forms

Referência

Visão geral do controle ToolStrip (Windows Forms)

ToolStripSystemRenderer

ToolStripProfessionalRenderer

ToolStripRenderer

Conceitos

Controles com suporte de desenho de proprietário interno