Compartir a través de


Cómo: Crear y establecer un renderizador personalizado para el control ToolStrip en Windows Forms

ToolStrip los controles proporcionan compatibilidad sencilla con temas y estilos. Puede lograr un comportamiento y una apariencia completamente personalizados (apariencia y comportamiento) estableciendo la ToolStrip.Renderer propiedad o la ToolStripManager.Renderer propiedad en un renderizador personalizado.

Puede asignar renderizadores a cada control individual ToolStrip, MenuStrip, ContextMenuStrip o StatusStrip, o bien puede usar la propiedad Renderer para afectar a todos los objetos estableciendo la propiedad ToolStrip.RenderMode en ToolStripRenderMode.ManagerRenderMode.

Nota:

RenderMode devuelve Custom solo si el valor de ToolStrip.Renderer no es null.

Para crear un representador personalizado

  1. Extienda la ToolStripRenderer clase .

  2. Implemente la representación personalizada deseada reemplazando los miembros adecuados de 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 establecer el renderizador personalizado como el renderizador actual

  1. Para establecer el representador personalizado para un ToolStrip, establezca la ToolStrip.Renderer propiedad en el representador personalizado.

    toolStrip1.Renderer = New RedTextRenderer()
    
    toolStrip1.Renderer = new RedTextRenderer();
    
  2. Para establecer un renderizador personalizado para todas las clases de ToolStrip contenidas en su aplicación, establezca la propiedad ToolStripManager.Renderer al renderizador personalizado y la propiedad RenderMode a ManagerRenderMode.

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

Consulte también