Procedimiento para crear y establecer un representador personalizado para el control ToolStrip de formularios Windows Forms

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

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

Nota:

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

Creación de un representador personalizado

  1. Extienda la clase ToolStripRenderer.

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

Establecer el representador personalizado en 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()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. O bien, para establecer el representador personalizado para todas las clases ToolStrip contenidas en la aplicación: establezca la propiedad ToolStripManager.Renderer en el representador personalizado y establezca la propiedad RenderMode en ManagerRenderMode.

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

Consulte también