Como criar e definir um renderizador personalizado para o controle ToolStrip nos Windows Forms

ToolStrip Os controles dão suporte fácil a temas e estilos. Você pode obter aparência e comportamento completamente personalizados (aparência e aparência) definindo a propriedade ou a ToolStrip.RendererToolStripManager.Renderer propriedade como um renderizador personalizado.

Você pode atribuir renderizadores a cada indivíduo ToolStrip, , ou controle, MenuStripContextMenuStripou StatusStrip pode usar a propriedade para afetar todos os objetos definindo a RendererToolStrip.RenderMode propriedade como ToolStripRenderMode.ManagerRenderMode.

Observação

RenderMode retorna Custom somente se o valor de ToolStrip.Renderer não nullfor .

Para criar um renderizador personalizado

  1. Estenda a classe ToolStripRenderer.

  2. Implemente a renderização personalizada desejada substituindo os membros On...

    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  
    
    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 como o renderizador personalizado.

    toolStrip1.Renderer = New RedTextRenderer()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. Ou para definir o renderizador personalizado para todas as ToolStrip classes contidas em seu aplicativo: defina a propriedade como o renderizador personalizado e defina a ToolStripManager.RendererRenderMode propriedade como ManagerRenderMode.

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

Confira também