ControlPaint Class
Provides methods used to paint common Windows controls and their elements.
For a list of all members of this type, see ControlPaint Members.
System.Object
System.Windows.Forms.ControlPaint
[Visual Basic] NotInheritable Public Class ControlPaint [C#] public sealed class ControlPaint [C++] public __gc __sealed class ControlPaint [JScript] public class ControlPaint
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Remarks
The methods contained in the ControlPaint class allow 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 Control.GetStyle or Control.SetStyle methods. You can set multiple style bits for any control. The ControlStyles enumeration members can be combined with bitwise operations.
Example
[Visual Basic] Imports System Imports System.Drawing Imports System.Windows.Forms Public Class Form1 Inherits System.Windows.Forms.Form Private button1 As System.Windows.Forms.Button = New Button Private button2 As System.Windows.Forms.Button = New Button <System.STAThreadAttribute()> _ Public Shared Sub Main() System.Windows.Forms.Application.Run(New Form1) End Sub Public Sub New() Me.button2.Location = New Point(0, button1.Height + 10) AddHandler Me.button2.Click, AddressOf Me.button2_Click Me.Controls.Add(Me.button1) Me.Controls.Add(Me.button2) End Sub Private Sub button2_Click(sender As Object, e As System.EventArgs) ' Draws a flat button on button1. ControlPaint.DrawButton(System.Drawing.Graphics.FromHwnd(button1.Handle), 0, 0, button1.Width, button1.Height, ButtonState.Flat) End Sub 'button2_Click End Class [C#] 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); } } [C++] #using <mscorlib.dll> #using <System.dll> #using <System.Drawing.dll> #using <System.Windows.Forms.dll> using namespace System; using namespace System::Drawing; using namespace System::Windows::Forms; public __gc class Form1 : public Form { private: Button* button1; Button* button2; public: Form1() { button1 = new Button(); button2 = new Button(); this->button2->Location = Point(0, button1->Height + 10); this->Click += new EventHandler(this, &Form1::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); } }; [STAThread] void main() { Application::Run(new Form1()); }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Windows.Forms
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
See Also
ControlPaint Members | System.Windows.Forms Namespace | Control | ControlStyles