ControlPaint 클래스
일반적인 Windows 컨트롤과 해당 요소를 그리는 데 사용되는 메서드를 제공합니다. 이 클래스는 상속될 수 없습니다.
네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)
구문
‘선언
Public NotInheritable Class ControlPaint
‘사용 방법
Dim instance As ControlPaint
public sealed class ControlPaint
public ref class ControlPaint sealed
public final class ControlPaint
public final class ControlPaint
설명
ControlPaint 클래스에 포함된 메서드를 사용하여 사용자 고유의 컨트롤이나 컨트롤 요소를 직접 그릴 수 있습니다. 컨트롤에 대해 UserPaint 비트가 true로 설정된 경우 컨트롤 그리기를 제어할 수 있습니다. GetStyle 또는 SetStyle 메서드를 호출하여 스타일 비트를 가져오거나 설정할 수 있으며, 하나의 컨트롤에 대해 여러 스타일 비트를 설정할 수 있습니다. 또한 ControlStyles 열거형 멤버를 비트 연산과 조합할 수 있습니다.
예제
다음 코드 예제에서는 ControlPaint 생성자 중 하나를 사용하여 평면 Button 컨트롤을 그립니다.
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
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);
}
}
#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 ref class Form1: public Form
{
private:
Button^ button1;
Button^ button2;
public:
Form1()
{
button1 = gcnew Button;
button2 = gcnew Button;
this->button2->Location = Point(0,button1->Height + 10);
this->Click += gcnew 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( gcnew Form1 );
}
import System.*;
import System.Drawing.*;
import System.Windows.Forms.*;
public class Form1 extends Form
{
private Button button1 = new Button();
private Button button2 = new Button();
/** @attribute STAThread()
*/
public static void main(String[] args)
{
Application.Run(new Form1());
} //main
public Form1()
{
this.button2.set_Location(new Point(0, button1.get_Height() + 10));
this.add_Click(new EventHandler(this.button2_Click));
this.get_Controls().Add(this.button1);
this.get_Controls().Add(this.button2);
} //Form1
private void button2_Click(Object sender, System.EventArgs e)
{
// Draws a flat button on button1.
ControlPaint.DrawButton(System.Drawing.Graphics.FromHwnd(
button1.get_Handle()), 0, 0, button1.get_Width(),
button1.get_Height(), ButtonState.Flat);
} //button2_Click
} //Form1
상속 계층 구조
System.Object
System.Windows.Forms.ControlPaint
스레드로부터의 안전성
이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
플랫폼
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
참고 항목
참조
ControlPaint 멤버
System.Windows.Forms 네임스페이스
Control 클래스
ControlStyles