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

ToolStripcontroles oferecem suporte fácil aos temas e estilos. Você pode obter totalmente personalizada, aparência e comportamento (look and feel) definindo-se tanto o ToolStrip.Renderer propriedade ou o ToolStripManager.Renderer propriedade para um processador personalizado.

Você pode atribuir renderizadores para cada indivíduo ToolStrip, MenuStrip, ContextMenuStrip, ou StatusStrip controle, ou você pode usar o Renderer propriedade para afetar todos os objetos, definindo a ToolStrip.RenderMode propriedade para ToolStripRenderMode.ManagerRenderMode.

ObservaçãoObservação

RenderModeRetorna Custom somente se o valor de ToolStrip.Renderer não é null.

Para criar um renderizador personalizado

  1. Estender a ToolStripRenderer classe.

  2. Implementar desejado processamento personalizado, substituindo apropriado por diante … membros

    Public Class RedTextRenderer
        Inherits System.Windows.Forms.ToolStripRenderer
        Protected Overrides Sub OnRenderItemText(ByVal e As _
            ToolStripItemTextRenderEventArgs) 
            e.TextColor = Color.Red
            e.TextFont = New Font("Helvetica", 7, FontStyle.Bold)
            MyBase.OnRenderItemText(e)
        End Sub
    End Class
    

    [C#]

    public class RedTextRenderer : _
        System.Windows.Forms.ToolStripRenderer
    {
        protected override void _
            OnRenderItemText(ToolStripItemTextRenderEventArgs e)
        {
            e.TextColor = Color.Red;
            e.TextFont = new Font("Helvetica", 7, FontStyle.Bold);
           base.OnRenderItemText(e);
        }
    }
    

Para definir o renderizador personalizado para ser o processador atual

  1. Para definir o renderizador personalizado para um ToolStrip, defina a ToolStrip.Renderer propriedade renderer personalizado.

    toolStrip1.Renderer = New RedTextRenderer()
    

    [C#]

    toolStrip1.Renderer = new RedTextRenderer();
    
  2. Ou, para definir o renderizador personalizado para todas as ToolStrip classes contidas no seu aplicativo: Definir o ToolStripManager.Renderer propriedade renderer personalizado e do conjunto de RenderMode propriedade para ManagerRenderMode.

    toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode
    ToolStripManager.Renderer = New RedTextRenderer()
    

    [C#]

    toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode;
    ToolStripManager.Renderer = new RedTextRenderer();
    

Consulte também

Referência

Renderer

ToolStripRenderer

RenderMode

Visão geral do controle ToolStrip (Windows Forms)

Conceitos

Arquitetura do controle ToolStrip

Resumo da tecnologia de ToolStrip