Compartir a través de


Cómo: Crear y establecer un representador personalizado para el control ToolStrip de formularios Windows Forms

Actualización: noviembre 2007

Los controles ToolStrip ofrecen una compatibilidad fácil para los temas y estilos. Puede conseguir un aspecto y comportamiento personalizado completamente (apariencia y percepción) estableciendo tanto la propiedad ToolStrip.Renderer como ToolStripManager.Renderer en un representador personalizado.

Puede asignar representadores a cada control ToolStrip, MenuStrip, ContextMenuStrip o StatusStrip particular, o utilizar la propiedad Renderer que afecta a todos los objetos estableciendo la propiedad ToolStrip.RenderMode en ToolStripRenderMode.ManagerRenderMode.

Nota:

RenderMode sólo devuelve Custom si el valor de ToolStrip.Renderer no es null.

Para crear un representador personalizado

  1. Extienda la clase ToolStripRenderer.

  2. Implemente la representación personalizada deseada invalidando los miembros En… adecuados

    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 establecer el representador personalizado que va a ser el representador actual

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

    toolStrip1.Renderer = New RedTextRenderer()
    

    [C#]

    toolStrip1.Renderer = new RedTextRenderer();
    
  2. O establezca el representador personalizado para todas las clases ToolStrip contenidas en su aplicación: Establezca la propiedad ToolStripManager.Renderer en el representador personalizado y la propiedad RenderMode en ManagerRenderMode.

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

    [C#]

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

Vea también

Conceptos

Arquitectura del control ToolStrip

Resumen de la tecnología ToolStrip

Referencia

Renderer

ToolStripRenderer

RenderMode

Información sobre el control ToolStrip (formularios Windows Forms)