Leer en inglés

Compartir a través de


ToolStripProfessionalRenderer Clase

Definición

Controla la funcionalidad de dibujo de los objetos ToolStrip, mediante la aplicación de una paleta personalizada y un estilo optimizado.

C#
public class ToolStripProfessionalRenderer : System.Windows.Forms.ToolStripRenderer
Herencia
ToolStripProfessionalRenderer

Ejemplos

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

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

Comentarios

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

Constructores

Propiedades

ColorTable

Obtiene la paleta de colores que se utiliza para dibujar.

RoundedEdges

Obtiene o establece un valor que indica si los bordes de los controles tienen un aspecto redondeado en lugar de cuadrado o anguloso.

Métodos

DrawArrow(ToolStripArrowRenderEventArgs)

Dibuja una flecha en un objeto ToolStripItem.

(Heredado de ToolStripRenderer)
DrawButtonBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un objeto ToolStripButton.

(Heredado de ToolStripRenderer)
DrawDropDownButtonBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un objeto ToolStripDropDownButton.

(Heredado de ToolStripRenderer)
DrawGrip(ToolStripGripRenderEventArgs)

Dibuja un controlador de movimiento en un objeto ToolStrip.

(Heredado de ToolStripRenderer)
DrawImageMargin(ToolStripRenderEventArgs)

Dibuja el espacio que rodea una imagen en un objeto ToolStrip.

(Heredado de ToolStripRenderer)
DrawItemBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un objeto ToolStripItem.

(Heredado de ToolStripRenderer)
DrawItemCheck(ToolStripItemImageRenderEventArgs)

Dibuja una imagen en un objeto ToolStripItem que indica que el elemento se encuentra en un estado seleccionado.

(Heredado de ToolStripRenderer)
DrawItemImage(ToolStripItemImageRenderEventArgs)

Dibuja una imagen en un objeto ToolStripItem.

(Heredado de ToolStripRenderer)
DrawItemText(ToolStripItemTextRenderEventArgs)

Dibuja texto en un objeto ToolStripItem.

(Heredado de ToolStripRenderer)
DrawLabelBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un objeto ToolStripLabel.

(Heredado de ToolStripRenderer)
DrawMenuItemBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un objeto ToolStripMenuItem.

(Heredado de ToolStripRenderer)
DrawOverflowButtonBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo de un botón de desbordamiento.

(Heredado de ToolStripRenderer)
DrawSeparator(ToolStripSeparatorRenderEventArgs)

Dibuja un ToolStripSeparator.

(Heredado de ToolStripRenderer)
DrawSplitButton(ToolStripItemRenderEventArgs)

Dibuja un ToolStripSplitButton.

(Heredado de ToolStripRenderer)
DrawStatusStripSizingGrip(ToolStripRenderEventArgs)

Dibuja un control de tamaño.

(Heredado de ToolStripRenderer)
DrawToolStripBackground(ToolStripRenderEventArgs)

Dibuja el fondo de un objeto ToolStrip.

(Heredado de ToolStripRenderer)
DrawToolStripBorder(ToolStripRenderEventArgs)

Dibuja el borde de un objeto ToolStrip.

(Heredado de ToolStripRenderer)
DrawToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Dibuja el fondo del objeto ToolStripContentPanel.

(Heredado de ToolStripRenderer)
DrawToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Dibuja el fondo del objeto ToolStripPanel.

(Heredado de ToolStripRenderer)
DrawToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Dibuja el fondo del objeto ToolStripStatusLabel.

(Heredado de ToolStripRenderer)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Initialize(ToolStrip)

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

(Heredado de ToolStripRenderer)
InitializeContentPanel(ToolStripContentPanel)

Inicializa el objeto ToolStripContentPanel especificado.

(Heredado de ToolStripRenderer)
InitializeItem(ToolStripItem)

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

(Heredado de ToolStripRenderer)
InitializePanel(ToolStripPanel)

Inicializa el objeto ToolStripPanel especificado.

(Heredado de ToolStripRenderer)
MemberwiseClone()

Crea una copia superficial del Object actual.

(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

RenderArrow

Se desencadena cuando se procesa una flecha en un objeto ToolStripItem.

(Heredado de ToolStripRenderer)
RenderButtonBackground

Se desencadena cuando se procesa el fondo de un objeto ToolStripButton.

(Heredado de ToolStripRenderer)
RenderDropDownButtonBackground

Se desencadena cuando se procesa el fondo de un objeto ToolStripDropDownButton.

(Heredado de ToolStripRenderer)
RenderGrip

Se desencadena cuando se procesa el controlador de movimiento de un objeto ToolStrip.

(Heredado de ToolStripRenderer)
RenderImageMargin

Dibuja el margen comprendido entre una imagen y su contenedor.

(Heredado de ToolStripRenderer)
RenderItemBackground

Se desencadena cuando se procesa el fondo de un objeto ToolStripItem.

(Heredado de ToolStripRenderer)
RenderItemCheck

Se desencadena cuando se procesa la imagen de un objeto ToolStripItem seleccionado.

(Heredado de ToolStripRenderer)
RenderItemImage

Se desencadena cuando se procesa la imagen de un objeto ToolStripItem.

(Heredado de ToolStripRenderer)
RenderItemText

Se desencadena cuando se procesa el texto de un objeto ToolStripItem.

(Heredado de ToolStripRenderer)
RenderLabelBackground

Se desencadena cuando se procesa el fondo de un objeto ToolStripLabel.

(Heredado de ToolStripRenderer)
RenderMenuItemBackground

Se desencadena cuando se procesa el fondo de un objeto ToolStripMenuItem.

(Heredado de ToolStripRenderer)
RenderOverflowButtonBackground

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

(Heredado de ToolStripRenderer)
RenderSeparator

Se desencadena cuando se procesa un objeto ToolStripSeparator.

(Heredado de ToolStripRenderer)
RenderSplitButtonBackground

Se desencadena cuando se procesa el fondo de un objeto ToolStripSplitButton.

(Heredado de ToolStripRenderer)
RenderStatusStripSizingGrip

Se produce cuando cambia el estilo de presentación.

(Heredado de ToolStripRenderer)
RenderToolStripBackground

Se desencadena cuando se procesa el fondo de un objeto ToolStrip.

(Heredado de ToolStripRenderer)
RenderToolStripBorder

Se desencadena cuando se procesa el borde de un objeto ToolStrip.

(Heredado de ToolStripRenderer)
RenderToolStripContentPanelBackground

Dibuja el fondo de un objeto ToolStripContentPanel.

(Heredado de ToolStripRenderer)
RenderToolStripPanelBackground

Dibuja el fondo de un objeto ToolStripPanel.

(Heredado de ToolStripRenderer)
RenderToolStripStatusLabelBackground

Dibuja el fondo de un objeto ToolStripStatusLabel.

(Heredado de ToolStripRenderer)

Se aplica a

Producto Versiones
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10