title: How to create a User Control with rounded corners?
body: <p>I am trying to have a User Control that has rounded corners. It doesnt have a fixed size but it usually doesnt have a width much more than 120 pixels.</p>
  
  <p>I need the User Control and its contents(a label and a table) to have rounded edges and look like a round box.</p>
  
  <p>I have used this code.</p>
  
  <pre><code>[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
      );
  
      public static System.Drawing.Region GetRoundedRegion(int controlWidth, int controlHeight)
      {
              return System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, controlWidth - 5, controlHeight - 5, 20, 20));
      } 
  </code></pre>
  
  <p>This gives the control rounded corners but after it has been running afew times and i have added multiples of my User Control to the form it will cause a leak and i will get the whitebox with a red cross on my user controls.</p>
  
  <p>Is there a better way of doing this?</p>