Cómo: Dibujar un control ToolStrip de manera personalizada
Los controles ToolStrip tienen las siguientes clases de representación (dibujo) asociadas:
ToolStripSystemRenderer proporciona el aspecto y estilo de su sistema operativo.
ToolStripProfessionalRenderer proporciona el aspecto y estilo de Microsoft Office.
ToolStripRenderer es la clase base abstracta para las otras dos clases de representación.
Para dibujar de forma personalizada (también conocido como dibujado por el propietario) un ToolStrip, puede reemplazar una de las clases del representador y cambiar algún aspecto de la lógica de representación.
Para obtener más información, vea Ejemplo Custom Drawing User Control y Ejemplo Custom Drawing User Control.
Los procedimientos siguientes describen distintos aspectos de dibujo personalizado.
Para intercambiar entre los representadores proporcionados
Establezca la propiedad RenderMode en el valor ToolStripRenderMode que desea.
Con ManagerRenderMode, el RenderMode estático determina el representador para su aplicación. Los otros valores de ToolStripRenderMode son Custom, Professional y System.
Para cambiar los bordes de estilo de Microsoft Office a recto
- Reemplace ToolStripProfessionalRenderer.OnRenderToolStripBorder, pero no llame a la clase base.
Nota
Hay una versión de este método para ToolStripRenderer, ToolStripSystemRenderer y ToolStripProfessionalRenderer.
Para cambiar la clase ProfessionalColorTable
Reemplace ProfessionalColorTable y cambie los colores que desee.
[Visual Basic]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Me.Load Dim t As MyColorTable = New MyColorTable ToolStrip1.Renderer = New ToolStripProfessionalRenderer(t) End Sub Class MyColorTable Inherits ProfessionalColorTable Public Overrides ReadOnly Property ButtonPressedGradientBegin() As Color Get Return Color.Red End Get End Property Public Overrides ReadOnly Property ButtonPressedGradientMiddle() _ As System.Drawing.Color Get Return Color.Blue End Get End Property Public Overrides ReadOnly Property ButtonPressedGradientEnd() _ As System.Drawing.Color Get Return Color.Green End Get End Property Public Overrides ReadOnly Property ButtonSelectedGradientBegin() _ As Color Get Return Color.Yellow End Get End Property Public Overrides ReadOnly Property ButtonSelectedGradientMiddle() As System.Drawing.Color Get Return Color.Orange End Get End Property Public Overrides ReadOnly Property ButtonSelectedGradientEnd() _ As System.Drawing.Color Get Return Color.Violet End Get End Property End Class
Para cambiar la representación para todos los controles ToolStrip de su aplicación
Utilice la propiedad ToolStripManager.RenderMode para elegir uno de los representadores dados.
Utilice ToolStripManager.Renderer para asignar un representador personalizado.
Asegúrese de que ToolStrip.RenderMode está establecido en el valor predeterminado de ManagerRenderMode.
Para desactivar los colores de Microsoft Office para la aplicación completa
- Establezca ToolStripManager.VisualStylesEnabled en false.
Para desactivar los colores de Microsoft Office para un control ToolStrip
Utilice el código similar al ejemplo de código siguiente.
[Visual Basic]
Dim colorTable As ProfessionalColorTable() colorTable.UseSystemColors = True Dim toolStrip.Renderer As ToolStripProfessionalRenderer(colorTable)
[C#]
ProfessionalColorTable colorTable = new ProfessionalColorTable(); colorTable.UseSystemColors = true; toolStrip.Renderer = new ToolStripProfessionalRenderer(colorTable);
Vea también
Tareas
Referencia
Información sobre el control ToolStrip (formularios Windows Forms)