Sdílet prostřednictvím


Control.Region Vlastnost

Definice

Získá nebo nastaví oblast okna přidružená k ovládacímu prvku.

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

Hodnota vlastnosti

Okno Region přidružené k ovládacímu prvku.

Atributy

Příklady

Následující příklad kódu ukazuje, jak použít Region vlastnost vytvořením kulatého tlačítka. Pokud chcete spustit příklad, vložte následující kód do formuláře obsahujícího tlačítko s názvem roundButton. Tento příklad vyžaduje, aby byla Paint událost připojená k obslužné rutině události definované v příkladu.

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

Poznámky

Oblast okna je kolekce pixelů v rámci okna, kde operační systém umožňuje kreslení. Operační systém nezobrazuje žádnou část okna, která leží mimo oblast okna. Souřadnice oblasti ovládacího prvku jsou relativní k levému hornímu rohu ovládacího prvku, nikoli k oblasti klienta ovládacího prvku.

Poznámka

Kolekce pixelů obsažená v oblasti může být nesousoucí.

Platí pro

Viz také