Control.Region Własność
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Pobiera lub ustawia region okna skojarzony z kontrolką.
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
Wartość nieruchomości
Okno Region skojarzone z kontrolką.
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Region właściwości, tworząc przycisk okrągły. Aby uruchomić przykład, wklej następujący kod w formularzu zawierającym przycisk o nazwie roundButton. W tym przykładzie wymagane Paint jest połączenie zdarzenia z procedurą obsługi zdarzeń zdefiniowaną w przykładzie.
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
Uwagi
Region okna to kolekcja pikseli w oknie, w którym system operacyjny zezwala na rysowanie. System operacyjny nie wyświetla żadnej części okna, która znajduje się poza regionem okna. Współrzędne regionu kontrolki są względne względem lewego górnego rogu kontrolki, a nie obszaru klienta kontrolki.
Uwaga
Kolekcja pikseli zawartych w regionie może nie być ciągła.