Control.Region Property
Gets or sets the window region associated with the control.
[Visual Basic] Public Property Region As Region [C#] public Region Region {get; set;} [C++] public: __property Region* get_Region(); public: __property void set_Region(Region*); [JScript] public function get Region() : Region; public function set Region(Region);
Property Value
The window Region associated with the control.
Remarks
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.
Note The collection of pixels contained with the region can be noncontiguous.
Example
[Visual Basic, C#] The following code example demonstrates how to use the System.Drawing.Control.Region property by creating a round button. To run the example, paste the following code in a form containing a Button called roundButton. This example assumes the Paint event is connected to the event handling method defined in the example.
[Visual Basic] ' 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 [C#] // 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); }
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
.NET Framework Security:
- UIPermission for all windows to set this property value. Associated enumeration: UIPermissionWindow.AllWindows
See Also
Control Class | Control Members | System.Windows.Forms Namespace | ClientRectangle | Bounds