Desktop Functions:

   Smart Device Functions:

Show Recent Changes
Subscribe (RSS)
Misc. Pages
Helpful Tools
Suggested Reading
Website TODO List
Support Forum
Download Visual Studio Add-In

Terms of Use
Privacy Policy
setwindowrgn (user32)

C# Signature:

static extern int SetWindowRgn(IntPtr hWnd, IntPtr hRgn, bool bRedraw);

VB.NET Signature:

<DllImport("user32.dll")> _
Public Function SetWindowRgn(ByVal hWnd As Long, ByVal hRgn As IntPtr, ByVal bRedraw As Boolean) As Long
End Function

User-Defined Types:




Tips & Tricks:

Please add some!

Rounded form:


static extern int SetWindowRgn(IntPtr hWnd, IntPtr hRgn, bool bRedraw);


static extern IntPtr CreateRoundRectRgn(int x1, int y1, int x2, int y2,int cx, int cy);

private void Form1_Load(object sender, System.EventArgs e)


SetWindowRgn (this.Handle, CreateRoundRectRgn ( 0, 0, 562, 257, 20, 20 ),true);


Sample Code:

Please add some!

Alternative Managed API:

You can use the TransparencyKey property on a Windows form to achieve the same effect.

You can also use the Region property of a Windows form to change the shape of the client area.


Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

Access directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version