0 out of 1 rated this helpful - Rate this topic

ControlPaint Class

Provides methods used to paint common Windows controls and their elements. This class cannot be inherited.

System.Object
  System.Windows.Forms.ControlPaint

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)
public sealed class ControlPaint

The ControlPaint type exposes the following members.

  Name Description
Public property Static member ContrastControlDark Gets the color to use as the ControlDark color.
Top
  Name Description
Public method Static member CreateHBitmap16Bit Creates a 16-bit color bitmap.
Public method Static member CreateHBitmapColorMask Creates a Win32 HBITMAP out of the image.
Public method Static member CreateHBitmapTransparencyMask Creates a color mask for the specified bitmap that indicates which color should be displayed as transparent.
Public method Static member Dark(Color) Creates a new dark color object for the control from the specified color.
Public method Static member Dark(Color, Single) Creates a new dark color object for the control from the specified color and darkens it by the specified percentage.
Public method Static member DarkDark Creates a new dark color object for the control from the specified color.
Public method Static member DrawBorder(Graphics, Rectangle, Color, ButtonBorderStyle) Draws a border with the specified style and color, on the specified graphics surface, and within the specified bounds on a button-style control.
Public method Static member DrawBorder(Graphics, Rectangle, Color, Int32, ButtonBorderStyle, Color, Int32, ButtonBorderStyle, Color, Int32, ButtonBorderStyle, Color, Int32, ButtonBorderStyle) Draws a border on a button-style control with the specified styles, colors, and border widths; on the specified graphics surface; and within the specified bounds.
Public method Static member DrawBorder3D(Graphics, Rectangle) Draws a three-dimensional style border on the specified graphics surface and within the specified bounds on a control.
Public method Static member DrawBorder3D(Graphics, Rectangle, Border3DStyle) Draws a three-dimensional style border with the specified style, on the specified graphics surface, and within the specified bounds on a control.
Public method Static member DrawBorder3D(Graphics, Rectangle, Border3DStyle, Border3DSide) Draws a three-dimensional style border with the specified style, on the specified graphics surface and sides, and within the specified bounds on a control.
Public method Static member DrawBorder3D(Graphics, Int32, Int32, Int32, Int32) Draws a three-dimensional style border on the specified graphics surface and within the specified bounds on a control.
Public method Static member DrawBorder3D(Graphics, Int32, Int32, Int32, Int32, Border3DStyle) Draws a three-dimensional style border with the specified style, on the specified graphics surface, and within the specified bounds on a control.
Public method Static member DrawBorder3D(Graphics, Int32, Int32, Int32, Int32, Border3DStyle, Border3DSide) Draws a three-dimensional style border with the specified style, on the specified graphics surface and side, and within the specified bounds on a control.
Public method Static member DrawButton(Graphics, Rectangle, ButtonState) Draws a button control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawButton(Graphics, Int32, Int32, Int32, Int32, ButtonState) Draws a button control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawCaptionButton(Graphics, Rectangle, CaptionButton, ButtonState) Draws the specified caption button control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawCaptionButton(Graphics, Int32, Int32, Int32, Int32, CaptionButton, ButtonState) Draws the specified caption button control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawCheckBox(Graphics, Rectangle, ButtonState) Draws a check box control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawCheckBox(Graphics, Int32, Int32, Int32, Int32, ButtonState) Draws a check box control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawComboButton(Graphics, Rectangle, ButtonState) Draws a drop-down button on a combo box control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawComboButton(Graphics, Int32, Int32, Int32, Int32, ButtonState) Draws a drop-down button on a combo box control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawContainerGrabHandle Draws a container control grab handle glyph on the specified graphics surface and within the specified bounds.
Public method Static member DrawFocusRectangle(Graphics, Rectangle) Draws a focus rectangle on the specified graphics surface and within the specified bounds.
Public method Static member DrawFocusRectangle(Graphics, Rectangle, Color, Color) Draws a focus rectangle on the specified graphics surface and within the specified bounds.
Public method Static member DrawGrabHandle Draws a standard selection grab handle glyph on the specified graphics surface, within the specified bounds, and in the specified state and style.
Public method Static member DrawGrid Draws a grid of one-pixel dots with the specified spacing, within the specified bounds, on the specified graphics surface, and in the specified color.
Public method Static member DrawImageDisabled Draws the specified image in a disabled state.
Public method Static member DrawLockedFrame Draws a locked selection frame on the screen within the specified bounds and on the specified graphics surface. Specifies whether to draw the frame with the primary selected colors.
Public method Static member DrawMenuGlyph(Graphics, Rectangle, MenuGlyph) Draws the specified menu glyph on a menu item control within the specified bounds and on the specified surface.
Public method Static member DrawMenuGlyph(Graphics, Rectangle, MenuGlyph, Color, Color) Draws the specified menu glyph on a menu item control within the specified bounds and on the specified surface, replacing White with the color specified in the backColor parameter and replacing Black with the color specified in the foreColor parameter.
Public method Static member DrawMenuGlyph(Graphics, Int32, Int32, Int32, Int32, MenuGlyph) Draws the specified menu glyph on a menu item control with the specified bounds and on the specified surface.
Public method Static member DrawMenuGlyph(Graphics, Int32, Int32, Int32, Int32, MenuGlyph, Color, Color) Draws the specified menu glyph on a menu item control within the specified coordinates, height, and width on the specified surface, replacing White with the color specified in the backColor parameter and replacing Black with the color specified in the foreColor parameter.
Public method Static member DrawMixedCheckBox(Graphics, Rectangle, ButtonState) Draws a three-state check box control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawMixedCheckBox(Graphics, Int32, Int32, Int32, Int32, ButtonState) Draws a three-state check box control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawRadioButton(Graphics, Rectangle, ButtonState) Draws a radio button control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawRadioButton(Graphics, Int32, Int32, Int32, Int32, ButtonState) Draws a radio button control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawReversibleFrame Draws a reversible frame on the screen within the specified bounds, with the specified background color, and in the specified state.
Public method Static member DrawReversibleLine Draws a reversible line on the screen within the specified starting and ending points and with the specified background color.
Public method Static member DrawScrollButton(Graphics, Rectangle, ScrollButton, ButtonState) Draws the specified scroll button on a scroll bar control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawScrollButton(Graphics, Int32, Int32, Int32, Int32, ScrollButton, ButtonState) Draws the specified scroll button on a scroll bar control in the specified state, on the specified graphics surface, and within the specified bounds.
Public method Static member DrawSelectionFrame Draws a standard selection frame in the specified state, on the specified graphics surface, with the specified inner and outer dimensions, and with the specified background color.
Public method Static member DrawSizeGrip(Graphics, Color, Rectangle) Draws a size grip on a form with the specified bounds and background color and on the specified graphics surface.
Public method Static member DrawSizeGrip(Graphics, Color, Int32, Int32, Int32, Int32) Draws a size grip on a form with the specified bounds and background color and on the specified graphics surface.
Public method Static member DrawStringDisabled(Graphics, String, Font, Color, RectangleF, StringFormat) Draws the specified string in a disabled state on the specified graphics surface; within the specified bounds; and in the specified font, color, and format.
Public method Static member DrawStringDisabled(IDeviceContext, String, Font, Color, Rectangle, TextFormatFlags) Draws the specified string in a disabled state on the specified graphics surface, within the specified bounds, and in the specified font, color, and format, using the specified GDI-based TextRenderer.
Public method Static member DrawVisualStyleBorder Draws a border in the style appropriate for disabled items.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Public method Static member FillReversibleRectangle Draws a filled, reversible rectangle on the screen.
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Static member Light(Color) Creates a new light color object for the control from the specified color.
Public method Static member Light(Color, Single) Creates a new light color object for the control from the specified color and lightens it by the specified percentage.
Public method Static member LightLight Creates a new light color object for the control from the specified color.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top

The methods contained in the ControlPaint class enable you to draw your own controls or elements of controls. You can control the drawing of your own controls if the UserPaint bit is set to true for the control. You can get or set the style bits by calling the GetStyle or SetStyle methods. You can set multiple style bits for any control. The ControlStyles enumeration members can be combined with bitwise operations.

The following code example uses one of the ControlPaint constructors to draw a flat Button control.


using System;
using System.Drawing;
using System.Windows.Forms;

public class Form1 : Form
{
      private Button button1 = new Button();
      private Button button2 = new Button();


    [STAThread]
    static void Main() 
    {
        Application.Run(new Form1());
    }


    public Form1(){
        this.button2.Location = new Point(0, button1.Height + 10);
        this.Click += new EventHandler(this.button2_Click);
        this.Controls.Add(this.button1);
        this.Controls.Add(this.button2);
    }

    private void button2_Click(object sender, System.EventArgs e)
    {
        // Draws a flat button on button1.
        ControlPaint.DrawButton(
        System.Drawing.Graphics.FromHwnd(button1.Handle),0,0,button1.Width,button1.Height,
                ButtonState.Flat);
    }
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ