Control.Region 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定與控制項關聯的視窗區域。
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; }
[System.ComponentModel.Browsable(false)]
public System.Drawing.Region? Region { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.Region : System.Drawing.Region with get, set
Public Property Region As Region
屬性值
與控制項關聯的視窗 Region。
- 屬性
範例
下列程式碼範例示範如何藉由建立圓形按鈕來使用 Region 屬性。 若要執行此範例,請將下列程式碼貼到包含名為 roundButton
之按鈕的表單中。 這個範例會要求 Paint 事件連接到範例中定義的事件處理常式。
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
備註
視窗區域是作業系統允許繪製之視窗內的圖元集合。 作業系統不會顯示位於視窗區域外部之視窗的任何部分。 控制項區域的座標相對於控制項的左上角,而不是控制項的工作區。
注意
包含于區域的圖元集合可以是不連續的。