ToolStripProfessionalRenderer Class
TOC
Collapse the table of content
Expand the table of content

ToolStripProfessionalRenderer Class

 

Handles the painting functionality for ToolStrip objects, applying a custom palette and a streamlined style.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

System.Object
  System.Windows.Forms.ToolStripRenderer
    System.Windows.Forms.ToolStripProfessionalRenderer

public class ToolStripProfessionalRenderer : ToolStripRenderer

NameDescription
System_CAPS_pubmethodToolStripProfessionalRenderer()

Initializes a new instance of the ToolStripProfessionalRenderer class.

System_CAPS_pubmethodToolStripProfessionalRenderer(ProfessionalColorTable)

Initializes a new instance of the ToolStripProfessionalRenderer class.

NameDescription
System_CAPS_pubpropertyColorTable

Gets the color palette used for painting.

System_CAPS_pubpropertyRoundedEdges

Gets or sets a value indicating whether edges of controls have a rounded rather than a square or sharp appearance.

NameDescription
System_CAPS_pubmethodDrawArrow(ToolStripArrowRenderEventArgs)

Draws an arrow on a ToolStripItem.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawButtonBackground(ToolStripItemRenderEventArgs)

Draws the background for a ToolStripButton.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawDropDownButtonBackground(ToolStripItemRenderEventArgs)

Draws the background for a ToolStripDropDownButton.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawGrip(ToolStripGripRenderEventArgs)

Draws a move handle on a ToolStrip.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawImageMargin(ToolStripRenderEventArgs)

Draws the space around an image on a ToolStrip.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawItemBackground(ToolStripItemRenderEventArgs)

Draws the background for a ToolStripItem.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawItemCheck(ToolStripItemImageRenderEventArgs)

Draws an image on a ToolStripItem that indicates the item is in a selected state.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawItemImage(ToolStripItemImageRenderEventArgs)

Draws an image on a ToolStripItem.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawItemText(ToolStripItemTextRenderEventArgs)

Draws text on a ToolStripItem.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawLabelBackground(ToolStripItemRenderEventArgs)

Draws the background for a ToolStripLabel.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawMenuItemBackground(ToolStripItemRenderEventArgs)

Draws the background for a ToolStripMenuItem.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawOverflowButtonBackground(ToolStripItemRenderEventArgs)

Draws the background for an overflow button.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawSeparator(ToolStripSeparatorRenderEventArgs)

Draws a ToolStripSeparator.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawSplitButton(ToolStripItemRenderEventArgs)

Draws a ToolStripSplitButton.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawStatusStripSizingGrip(ToolStripRenderEventArgs)

Draws a sizing grip.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawToolStripBackground(ToolStripRenderEventArgs)

Draws the background for a ToolStrip.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawToolStripBorder(ToolStripRenderEventArgs)

Draws the border for a ToolStrip.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Draws the background of the ToolStripContentPanel.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Draws the background of the ToolStripPanel.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodDrawToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Draws the background of the ToolStripStatusLabel.(Inherited from ToolStripRenderer.)

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodInitialize(ToolStrip)

When overridden in a derived class, provides for custom initialization of the given ToolStrip. (Inherited from ToolStripRenderer.)

System_CAPS_protmethodInitializeContentPanel(ToolStripContentPanel)

Initializes the specified ToolStripContentPanel.(Inherited from ToolStripRenderer.)

System_CAPS_protmethodInitializeItem(ToolStripItem)

When overridden in a derived class, provides for custom initialization of the given ToolStripItem. (Inherited from ToolStripRenderer.)

System_CAPS_protmethodInitializePanel(ToolStripPanel)

Initializes the specified ToolStripPanel.(Inherited from ToolStripRenderer.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodOnRenderArrow(ToolStripArrowRenderEventArgs)
System_CAPS_protmethodOnRenderButtonBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderGrip(ToolStripGripRenderEventArgs)
System_CAPS_protmethodOnRenderImageMargin(ToolStripRenderEventArgs)
System_CAPS_protmethodOnRenderItemBackground(ToolStripItemRenderEventArgs)

Raises the OnRenderItemBackground event. (Inherited from ToolStripRenderer.)

System_CAPS_protmethodOnRenderItemCheck(ToolStripItemImageRenderEventArgs)
System_CAPS_protmethodOnRenderItemImage(ToolStripItemImageRenderEventArgs)
System_CAPS_protmethodOnRenderItemText(ToolStripItemTextRenderEventArgs)
System_CAPS_protmethodOnRenderLabelBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderMenuItemBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderSeparator(ToolStripSeparatorRenderEventArgs)
System_CAPS_protmethodOnRenderSplitButtonBackground(ToolStripItemRenderEventArgs)

Raises the OnRenderSplitButtonBackground event.(Overrides ToolStripRenderer.OnRenderSplitButtonBackground(ToolStripItemRenderEventArgs).)

System_CAPS_protmethodOnRenderStatusStripSizingGrip(ToolStripRenderEventArgs)

Raises the RenderStatusStripSizingGrip event.(Inherited from ToolStripRenderer.)

System_CAPS_protmethodOnRenderToolStripBackground(ToolStripRenderEventArgs)
System_CAPS_protmethodOnRenderToolStripBorder(ToolStripRenderEventArgs)
System_CAPS_protmethodOnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)
System_CAPS_protmethodOnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs)
System_CAPS_protmethodOnRenderToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)
System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubeventRenderArrow

Occurs when an arrow on a ToolStripItem is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderButtonBackground

Occurs when the background for a ToolStripButton is rendered(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderDropDownButtonBackground

Occurs when the background for a ToolStripDropDownButton is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderGrip

Occurs when the move handle for a ToolStrip is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderImageMargin

Draws the margin between an image and its container. (Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderItemBackground

Occurs when the background for a ToolStripItem is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderItemCheck

Occurs when the image for a selected ToolStripItem is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderItemImage

Occurs when the image for a ToolStripItem is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderItemText

Occurs when the text for a ToolStripItem is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderLabelBackground

Occurs when the background for a ToolStripLabel is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderMenuItemBackground

Occurs when the background for a ToolStripMenuItem is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderOverflowButtonBackground

Occurs when the background for an overflow button is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderSeparator

Occurs when a ToolStripSeparator is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderSplitButtonBackground

Occurs when the background for a ToolStripSplitButton is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderStatusStripSizingGrip

Occurs when the display style changes.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderToolStripBackground

Occurs when the background for a ToolStrip is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderToolStripBorder

Occurs when the border for a ToolStrip is rendered.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderToolStripContentPanelBackground

Draws the background of a ToolStripContentPanel.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderToolStripPanelBackground

Draws the background of a ToolStripPanel.(Inherited from ToolStripRenderer.)

System_CAPS_pubeventRenderToolStripStatusLabelBackground

Draws the background of a ToolStripStatusLabel.(Inherited from ToolStripRenderer.)

ToolStripProfessionalRenderer creates pens and brushes based on a replaceable color table called ProfessionalColorTable.

The following code example demonstrates how to create a composite control that mimics the Navigation Pane provided by Microsoft® Outlook®. For a full code listing, see 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);
        }
    }
}

.NET Framework
Available since 2.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft