ToolStripProfessionalRenderer Clase

Definición

Controla la funcionalidad de pintura para ToolStrip los objetos, aplicando una paleta personalizada y un estilo simplificado.

public ref class ToolStripProfessionalRenderer : System::Windows::Forms::ToolStripRenderer
public class ToolStripProfessionalRenderer : System.Windows.Forms.ToolStripRenderer
type ToolStripProfessionalRenderer = class
    inherit ToolStripRenderer
Public Class ToolStripProfessionalRenderer
Inherits ToolStripRenderer
Herencia
ToolStripProfessionalRenderer

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear un control compuesto que imita el Navigation Pane proporcionado por Microsoft Outlook ® ®. Para obtener una lista de código completa, vea How to: Create a Professionally Styled ToolStrip Control.

internal class StackRenderer : ToolStripProfessionalRenderer
{
    private static Bitmap titleBarGripBmp;
    private static string titleBarGripEnc = @"Qk16AQAAAAAAADYAAAAoAAAAIwAAAAMAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5ANj+RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5ANj+RzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMANj+";

    // Define titlebar colors.
    private static Color titlebarColor1 = Color.FromArgb(89, 135, 214);
    private static Color titlebarColor2 = Color.FromArgb(76, 123, 204);
    private static Color titlebarColor3 = Color.FromArgb(63, 111, 194);
    private static Color titlebarColor4 = Color.FromArgb(50, 99, 184);
    private static Color titlebarColor5 = Color.FromArgb(38, 88, 174);
    private static Color titlebarColor6 = Color.FromArgb(25, 76, 164);
    private static Color titlebarColor7 = Color.FromArgb(12, 64, 154);
    private static Color borderColor = Color.FromArgb(0, 0, 128);

    static StackRenderer()
    {
        titleBarGripBmp = StackView.DeserializeFromBase64(titleBarGripEnc);
    }

    public StackRenderer()
    {
    }

    private void DrawTitleBar(Graphics g, Rectangle rect)
    {
        // Assign the image for the grip.
        Image titlebarGrip = titleBarGripBmp;

        // Fill the titlebar. 
        // This produces the gradient and the rounded-corner effect.
        g.DrawLine(new Pen(titlebarColor1), rect.X, rect.Y, rect.X + rect.Width, rect.Y);
        g.DrawLine(new Pen(titlebarColor2), rect.X, rect.Y + 1, rect.X + rect.Width, rect.Y + 1);
        g.DrawLine(new Pen(titlebarColor3), rect.X, rect.Y + 2, rect.X + rect.Width, rect.Y + 2);
        g.DrawLine(new Pen(titlebarColor4), rect.X, rect.Y + 3, rect.X + rect.Width, rect.Y + 3);
        g.DrawLine(new Pen(titlebarColor5), rect.X, rect.Y + 4, rect.X + rect.Width, rect.Y + 4);
        g.DrawLine(new Pen(titlebarColor6), rect.X, rect.Y + 5, rect.X + rect.Width, rect.Y + 5);
        g.DrawLine(new Pen(titlebarColor7), rect.X, rect.Y + 6, rect.X + rect.Width, rect.Y + 6);

        // Center the titlebar grip.
        g.DrawImage(
            titlebarGrip,
            new Point(rect.X + ((rect.Width / 2) - (titlebarGrip.Width / 2)),
            rect.Y + 1));
    }

    // This method handles the RenderGrip event.
    protected override void OnRenderGrip(ToolStripGripRenderEventArgs e)
    {
        DrawTitleBar(
            e.Graphics,
            new Rectangle(0, 0, e.ToolStrip.Width, 7));
    }

    // This method handles the RenderToolStripBorder event.
    protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
    {
        DrawTitleBar(
            e.Graphics,
            new Rectangle(0, 0, e.ToolStrip.Width, 7));
    }

    // This method handles the RenderButtonBackground event.
    protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
    {
        Graphics g = e.Graphics;
        Rectangle bounds = new Rectangle(Point.Empty, e.Item.Size);

        Color gradientBegin = Color.FromArgb(203, 225, 252);
        Color gradientEnd = Color.FromArgb(125, 165, 224);

        ToolStripButton button = e.Item as ToolStripButton;
        if (button.Pressed || button.Checked)
        {
            gradientBegin = Color.FromArgb(254, 128, 62);
            gradientEnd = Color.FromArgb(255, 223, 154);
        }
        else if (button.Selected)
        {
            gradientBegin = Color.FromArgb(255, 255, 222);
            gradientEnd = Color.FromArgb(255, 203, 136);
        }

        using (Brush b = new LinearGradientBrush(
            bounds,
            gradientBegin,
            gradientEnd,
            LinearGradientMode.Vertical))
        {
            g.FillRectangle(b, bounds);
        }

        e.Graphics.DrawRectangle(
            SystemPens.ControlDarkDark,
            bounds);

        g.DrawLine(
            SystemPens.ControlDarkDark,
            bounds.X,
            bounds.Y,
            bounds.Width - 1,
            bounds.Y);

        g.DrawLine(
            SystemPens.ControlDarkDark,
            bounds.X,
            bounds.Y,
            bounds.X,
            bounds.Height - 1);

        ToolStrip toolStrip = button.Owner;
        ToolStripButton nextItem = button.Owner.GetItemAt(
            button.Bounds.X,
            button.Bounds.Bottom + 1) as ToolStripButton;

        if (nextItem == null)
        {
            g.DrawLine(
                SystemPens.ControlDarkDark,
                bounds.X,
                bounds.Height - 1,
                bounds.X + bounds.Width - 1,
                bounds.Height - 1);
        }
    }
}
Friend Class StackRenderer
   Inherits ToolStripProfessionalRenderer
   Private Shared titleBarGripBmp As Bitmap
   Private Shared titleBarGripEnc As String = "Qk16AQAAAAAAADYAAAAoAAAAIwAAAAMAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5ANj+RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5ANj+RzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMANj+"
   
   ' Define titlebar colors.
   Private Shared titlebarColor1 As Color = Color.FromArgb(89, 135, 214)
   Private Shared titlebarColor2 As Color = Color.FromArgb(76, 123, 204)
   Private Shared titlebarColor3 As Color = Color.FromArgb(63, 111, 194)
   Private Shared titlebarColor4 As Color = Color.FromArgb(50, 99, 184)
   Private Shared titlebarColor5 As Color = Color.FromArgb(38, 88, 174)
   Private Shared titlebarColor6 As Color = Color.FromArgb(25, 76, 164)
   Private Shared titlebarColor7 As Color = Color.FromArgb(12, 64, 154)
   Private Shared borderColor As Color = Color.FromArgb(0, 0, 128)
   
   Shared Sub New()
      titleBarGripBmp = StackView.DeserializeFromBase64(titleBarGripEnc)
     End Sub
   
   Public Sub New()
     End Sub
   
     Private Sub DrawTitleBar(ByVal g As Graphics, ByVal rect As Rectangle)

         ' Assign the image for the grip.
         Dim titlebarGrip As Image = titleBarGripBmp

         ' Fill the titlebar. 
         ' This produces the gradient and the rounded-corner effect.
         g.DrawLine(New Pen(titlebarColor1), rect.X, rect.Y, rect.X + rect.Width, rect.Y)
         g.DrawLine(New Pen(titlebarColor2), rect.X, rect.Y + 1, rect.X + rect.Width, rect.Y + 1)
         g.DrawLine(New Pen(titlebarColor3), rect.X, rect.Y + 2, rect.X + rect.Width, rect.Y + 2)
         g.DrawLine(New Pen(titlebarColor4), rect.X, rect.Y + 3, rect.X + rect.Width, rect.Y + 3)
         g.DrawLine(New Pen(titlebarColor5), rect.X, rect.Y + 4, rect.X + rect.Width, rect.Y + 4)
         g.DrawLine(New Pen(titlebarColor6), rect.X, rect.Y + 5, rect.X + rect.Width, rect.Y + 5)
         g.DrawLine(New Pen(titlebarColor7), rect.X, rect.Y + 6, rect.X + rect.Width, rect.Y + 6)

         ' Center the titlebar grip.
         g.DrawImage(titlebarGrip, New Point(rect.X + (rect.Width / 2 - titlebarGrip.Width / 2), rect.Y + 1))
     End Sub
   
   
   ' This method handles the RenderGrip event.
   Protected Overrides Sub OnRenderGrip(e As ToolStripGripRenderEventArgs)
      DrawTitleBar(e.Graphics, New Rectangle(0, 0, e.ToolStrip.Width, 7))
     End Sub
   
   
   ' This method handles the RenderToolStripBorder event.
   Protected Overrides Sub OnRenderToolStripBorder(e As ToolStripRenderEventArgs)
      DrawTitleBar(e.Graphics, New Rectangle(0, 0, e.ToolStrip.Width, 7))
     End Sub
   
   
   ' This method handles the RenderButtonBackground event.
   Protected Overrides Sub OnRenderButtonBackground(e As ToolStripItemRenderEventArgs)
      Dim g As Graphics = e.Graphics
      Dim bounds As New Rectangle(Point.Empty, e.Item.Size)
      
      Dim gradientBegin As Color = Color.FromArgb(203, 225, 252)
      Dim gradientEnd As Color = Color.FromArgb(125, 165, 224)
      
         Dim button As ToolStripButton = CType(e.Item, ToolStripButton)
      
      If button.Pressed OrElse button.Checked Then
         gradientBegin = Color.FromArgb(254, 128, 62)
         gradientEnd = Color.FromArgb(255, 223, 154)
      ElseIf button.Selected Then
         gradientBegin = Color.FromArgb(255, 255, 222)
         gradientEnd = Color.FromArgb(255, 203, 136)
      End If
      
      Dim b = New LinearGradientBrush(bounds, gradientBegin, gradientEnd, LinearGradientMode.Vertical)
      Try
         g.FillRectangle(b, bounds)
      Finally
         b.Dispose()
      End Try
      
      e.Graphics.DrawRectangle(SystemPens.ControlDarkDark, bounds)
      
      g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Y, bounds.Width - 1, bounds.Y)
      
      g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Y, bounds.X, bounds.Height - 1)
      
      Dim toolStrip As ToolStrip = button.Owner
         Dim nextItem As ToolStripButton = CType(button.Owner.GetItemAt(button.Bounds.X, button.Bounds.Bottom + 1), ToolStripButton)
      
      If nextItem Is Nothing Then
         g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Height - 1, bounds.X + bounds.Width - 1, bounds.Height - 1)
      End If
     End Sub
 End Class

Comentarios

ToolStripProfessionalRenderer crea lápices y pinceles basados en una tabla de colores reemplazable denominada ProfessionalColorTable.

Constructores

Nombre Description
ToolStripProfessionalRenderer()

Inicializa una nueva instancia de la clase ToolStripProfessionalRenderer.

ToolStripProfessionalRenderer(ProfessionalColorTable)

Inicializa una nueva instancia de la clase ToolStripProfessionalRenderer.

Propiedades

Nombre Description
ColorTable

Obtiene la paleta de colores utilizada para pintar.

RoundedEdges

Obtiene o establece un valor que indica si los bordes de los controles tienen una apariencia redondeada en lugar de una apariencia cuadrada o afilada.

Métodos

Nombre Description
DrawArrow(ToolStripArrowRenderEventArgs)

Dibuja una flecha en un ToolStripItem.

(Heredado de ToolStripRenderer)
DrawButtonBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un ToolStripButtonobjeto .

(Heredado de ToolStripRenderer)
DrawDropDownButtonBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un ToolStripDropDownButtonobjeto .

(Heredado de ToolStripRenderer)
DrawGrip(ToolStripGripRenderEventArgs)

Dibuja un identificador de movimiento en un ToolStrip.

(Heredado de ToolStripRenderer)
DrawImageMargin(ToolStripRenderEventArgs)

Dibuja el espacio alrededor de una imagen en un ToolStrip.

(Heredado de ToolStripRenderer)
DrawItemBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un ToolStripItemobjeto .

(Heredado de ToolStripRenderer)
DrawItemCheck(ToolStripItemImageRenderEventArgs)

Dibuja una imagen en un ToolStripItem que indica que el elemento está en estado seleccionado.

(Heredado de ToolStripRenderer)
DrawItemImage(ToolStripItemImageRenderEventArgs)

Dibuja una imagen en un ToolStripItem.

(Heredado de ToolStripRenderer)
DrawItemText(ToolStripItemTextRenderEventArgs)

Dibuja texto en un ToolStripItemobjeto .

(Heredado de ToolStripRenderer)
DrawLabelBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un ToolStripLabelobjeto .

(Heredado de ToolStripRenderer)
DrawMenuItemBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un ToolStripMenuItemobjeto .

(Heredado de ToolStripRenderer)
DrawOverflowButtonBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un botón de desbordamiento.

(Heredado de ToolStripRenderer)
DrawSeparator(ToolStripSeparatorRenderEventArgs)

Dibuja un ToolStripSeparatorobjeto .

(Heredado de ToolStripRenderer)
DrawSplitButton(ToolStripItemRenderEventArgs)

Dibuja un ToolStripSplitButtonobjeto .

(Heredado de ToolStripRenderer)
DrawStatusStripSizingGrip(ToolStripRenderEventArgs)

Dibuja un agarre de tamaño.

(Heredado de ToolStripRenderer)
DrawToolStripBackground(ToolStripRenderEventArgs)

Dibuja el fondo de un ToolStripobjeto .

(Heredado de ToolStripRenderer)
DrawToolStripBorder(ToolStripRenderEventArgs)

Dibuja el borde de un ToolStripobjeto .

(Heredado de ToolStripRenderer)
DrawToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Dibuja el fondo de .ToolStripContentPanel

(Heredado de ToolStripRenderer)
DrawToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Dibuja el fondo de .ToolStripPanel

(Heredado de ToolStripRenderer)
DrawToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de .ToolStripStatusLabel

(Heredado de ToolStripRenderer)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Initialize(ToolStrip)

Cuando se invalida en una clase derivada, proporciona la inicialización personalizada del especificado ToolStrip.

(Heredado de ToolStripRenderer)
InitializeContentPanel(ToolStripContentPanel)

Inicializa el especificado ToolStripContentPanel.

(Heredado de ToolStripRenderer)
InitializeItem(ToolStripItem)

Cuando se invalida en una clase derivada, proporciona la inicialización personalizada del especificado ToolStripItem.

(Heredado de ToolStripRenderer)
InitializePanel(ToolStripPanel)

Inicializa el especificado ToolStripPanel.

(Heredado de ToolStripRenderer)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OnRenderArrow(ToolStripArrowRenderEventArgs)

Genera el evento RenderArrow.

OnRenderButtonBackground(ToolStripItemRenderEventArgs)

Genera el evento RenderButtonBackground.

OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs)

Genera el evento RenderDropDownButtonBackground.

OnRenderGrip(ToolStripGripRenderEventArgs)

Genera el evento RenderGrip.

OnRenderImageMargin(ToolStripRenderEventArgs)

Dibuja el fondo del elemento.

OnRenderItemBackground(ToolStripItemRenderEventArgs)

Genera el evento OnRenderItemBackground(ToolStripItemRenderEventArgs).

(Heredado de ToolStripRenderer)
OnRenderItemCheck(ToolStripItemImageRenderEventArgs)

Genera el evento RenderItemCheck.

OnRenderItemImage(ToolStripItemImageRenderEventArgs)

Genera el evento RenderItemImage.

OnRenderItemText(ToolStripItemTextRenderEventArgs)

Genera el evento RenderItemText.

OnRenderLabelBackground(ToolStripItemRenderEventArgs)

Genera el evento RenderLabelBackground.

OnRenderMenuItemBackground(ToolStripItemRenderEventArgs)

Genera el evento RenderMenuItemBackground.

OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs)

Genera el evento RenderOverflowButtonBackground.

OnRenderSeparator(ToolStripSeparatorRenderEventArgs)

Genera el evento RenderSeparator.

OnRenderSplitButtonBackground(ToolStripItemRenderEventArgs)

Genera el evento OnRenderSplitButtonBackground.

OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs)

Genera el evento RenderStatusStripSizingGrip.

(Heredado de ToolStripRenderer)
OnRenderToolStripBackground(ToolStripRenderEventArgs)

Genera el evento RenderToolStripBackground.

OnRenderToolStripBorder(ToolStripRenderEventArgs)

Genera el evento RenderToolStripBorder.

OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Genera el evento RenderToolStripContentPanelBackground.

OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Genera el evento RenderToolStripPanelBackground.

OnRenderToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Genera el evento RenderToolStripStatusLabelBackground.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

Nombre Description
RenderArrow

Se produce cuando se representa una flecha de un ToolStripItem objeto .

(Heredado de ToolStripRenderer)
RenderButtonBackground

Se produce cuando se representa el fondo de un ToolStripButton objeto .

(Heredado de ToolStripRenderer)
RenderDropDownButtonBackground

Se produce cuando se representa el fondo de un ToolStripDropDownButton objeto .

(Heredado de ToolStripRenderer)
RenderGrip

Se produce cuando se representa el identificador de movimiento de .ToolStrip

(Heredado de ToolStripRenderer)
RenderImageMargin

Dibuja el margen entre una imagen y su contenedor.

(Heredado de ToolStripRenderer)
RenderItemBackground

Se produce cuando se representa el fondo de un ToolStripItem objeto .

(Heredado de ToolStripRenderer)
RenderItemCheck

Se produce cuando se representa la imagen de una seleccionada ToolStripItem .

(Heredado de ToolStripRenderer)
RenderItemImage

Se produce cuando se representa la imagen de .ToolStripItem

(Heredado de ToolStripRenderer)
RenderItemText

Se produce cuando se representa el texto de .ToolStripItem

(Heredado de ToolStripRenderer)
RenderLabelBackground

Se produce cuando se representa el fondo de un ToolStripLabel objeto .

(Heredado de ToolStripRenderer)
RenderMenuItemBackground

Se produce cuando se representa el fondo de un ToolStripMenuItem objeto .

(Heredado de ToolStripRenderer)
RenderOverflowButtonBackground

Se produce cuando se representa el fondo de un botón de desbordamiento.

(Heredado de ToolStripRenderer)
RenderSeparator

Se produce cuando se representa un ToolStripSeparator objeto .

(Heredado de ToolStripRenderer)
RenderSplitButtonBackground

Se produce cuando se representa el fondo de un ToolStripSplitButton objeto .

(Heredado de ToolStripRenderer)
RenderStatusStripSizingGrip

Se produce cuando cambia el estilo de presentación.

(Heredado de ToolStripRenderer)
RenderToolStripBackground

Se produce cuando se representa el fondo de un ToolStrip objeto .

(Heredado de ToolStripRenderer)
RenderToolStripBorder

Se produce cuando se representa el borde de un ToolStrip objeto .

(Heredado de ToolStripRenderer)
RenderToolStripContentPanelBackground

Dibuja el fondo de un ToolStripContentPanelobjeto .

(Heredado de ToolStripRenderer)
RenderToolStripPanelBackground

Dibuja el fondo de un ToolStripPanelobjeto .

(Heredado de ToolStripRenderer)
RenderToolStripStatusLabelBackground

Dibuja el fondo de un ToolStripStatusLabelobjeto .

(Heredado de ToolStripRenderer)

Se aplica a