Control.Region 속성
정의
컨트롤과 연결된 창 영역을 가져오거나 설정합니다.Gets or sets the window region associated with the control.
public:
property System::Drawing::Region ^ Region { System::Drawing::Region ^ get(); void set(System::Drawing::Region ^ value); };
[System.ComponentModel.Browsable(false)]
public System.Drawing.Region Region { get; set; }
member this.Region : System.Drawing.Region with get, set
Public Property Region As Region
속성 값
- 특성
예제
다음 코드 예제에서는 둥근 단추를 만들어 Region 속성을 사용 하는 방법을 보여 줍니다.The following code example demonstrates how to use the Region property by creating a round button. 예제를 실행 하려면 roundButton
이라는 단추가 포함 된 폼에 다음 코드를 붙여넣습니다.To run the example, paste the following code in a form containing a button called roundButton
. 이 예에서는 Paint 이벤트가 예제에 정의 된 이벤트 처리기에 연결 되어야 합니다.This example requires that the Paint event is connected to the event handler defined in the example.
private:
// This method will change the square button to a circular button by
// creating a new circle-shaped GraphicsPath object and setting it
// to the RoundButton objects region.
void roundButton_Paint( Object^ sender,
System::Windows::Forms::PaintEventArgs^ e )
{
System::Drawing::Drawing2D::GraphicsPath^ buttonPath =
gcnew System::Drawing::Drawing2D::GraphicsPath;
// Set a new rectangle to the same size as the button's
// ClientRectangle property.
System::Drawing::Rectangle newRectangle = roundButton->ClientRectangle;
// Decrease the size of the rectangle.
newRectangle.Inflate( -10, -10 );
// Draw the button's border.
e->Graphics->DrawEllipse( System::Drawing::Pens::Black, newRectangle );
// Increase the size of the rectangle to include the border.
newRectangle.Inflate( 1, 1 );
// Create a circle within the new rectangle.
buttonPath->AddEllipse( newRectangle );
// Set the button's Region property to the newly created
// circle region.
roundButton->Region = gcnew System::Drawing::Region( buttonPath );
}
// This method will change the square button to a circular button by
// creating a new circle-shaped GraphicsPath object and setting it
// to the RoundButton objects region.
private void roundButton_Paint(object sender,
System.Windows.Forms.PaintEventArgs e)
{
System.Drawing.Drawing2D.GraphicsPath buttonPath =
new System.Drawing.Drawing2D.GraphicsPath();
// Set a new rectangle to the same size as the button's
// ClientRectangle property.
System.Drawing.Rectangle newRectangle = roundButton.ClientRectangle;
// Decrease the size of the rectangle.
newRectangle.Inflate(-10, -10);
// Draw the button's border.
e.Graphics.DrawEllipse(System.Drawing.Pens.Black, newRectangle);
// Increase the size of the rectangle to include the border.
newRectangle.Inflate( 1, 1);
// Create a circle within the new rectangle.
buttonPath.AddEllipse(newRectangle);
// Set the button's Region property to the newly created
// circle region.
roundButton.Region = new System.Drawing.Region(buttonPath);
}
' This method will change the square button to a circular button by
' creating a new circle-shaped GraphicsPath object and setting it
' to the RoundButton objects region.
Private Sub roundButton_Paint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) Handles roundButton.Paint
Dim buttonPath As New System.Drawing.Drawing2D.GraphicsPath
' Set a new rectangle to the same size as the button's
' ClientRectangle property.
Dim newRectangle As Rectangle = roundButton.ClientRectangle
' Decrease the size of the rectangle.
newRectangle.Inflate(-10, -10)
' Draw the button's border.
'e.Graphics.DrawEllipse(System.Drawing.Pens.Black, newRectangle)
'Increase the size of the rectangle to include the border.
newRectangle.Inflate(1, 1)
' Create a circle within the new rectangle.
buttonPath.AddEllipse(newRectangle)
e.Graphics.DrawPath(Pens.Black, buttonPath)
' Set the button's Region property to the newly created
' circle region.
roundButton.Region = New System.Drawing.Region(buttonPath)
End Sub
설명
창 영역은 운영 체제에서 그리기를 허용 하는 창 내의 픽셀 컬렉션입니다.The window region is a collection of pixels within the window where the operating system permits drawing. 운영 체제 창의 창 영역 외부에 있는 일부가 표시 되지 않습니다.The operating system does not display any portion of a window that lies outside of the window region. 컨트롤 영역의 좌표는 컨트롤의 클라이언트 영역이 아니라 컨트롤의 왼쪽 위 모퉁이를 기준으로 합니다.The coordinates of a control's region are relative to the upper-left corner of the control, not the client area of the control.
참고
영역에 포함 된 픽셀 컬렉션은 인접 하지 않을 수 있습니다.The collection of pixels contained with the region can be noncontiguous.
보안
UIPermission
모든 창에서이 속성 값을 설정 합니다.for all windows to set this property value. 연결 된 열거형: AllWindowsAssociated enumeration: AllWindows