Contact Us

Contact Us

How To Round The Edges Of A Control In C#

Round The Edges Of A Control In C#

The following code snippet will make the edges of windows form round shaped.

The other windows controls including buttons, combo boxes, list boxes, etc. could also be made round shaped. Just replace “this” with the control name when calling the function “GetRoundedRegion”,


[DllImport(“Gdi32.dll”, EntryPoint = “CreateRoundRectRgn”)]
private static extern IntPtr CreateRoundRectRgn
  int nLeftRect, // x-coordinate of upper-left corner
  int nTopRect, // y-coordinate of upper-left corner
  int nRightRect, // x-coordinate of lower-right corner
  int nBottomRect, // y-coordinate of lower-right corner
  int nWidthEllipse, // height of ellipse
  int nHeightEllipse // width of ellipse

//function call, it will return the rounded region of the given region
public static System.Drawing.Region GetRoundedRegion(int controlWidth, int controlHeight)
 return System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, controlWidth– 5, controlHeight– 5, 12, 12));

//the following Line of Code will round the edges of C# form
this.Region = GetRoundedRegion(this.Width, this.Height);

Healthcare software development, HL7 Interface, EMR/EHR integration, mHealth, HIPAA compliant