Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>This method fills a rounded rectangle on a graphics object (VB code) :</p> <pre><code>Public Sub FillRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush) Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed g.FillPie(b, r.X, r.Y, d, d, 180, 90) g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90) g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90) g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90) g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2)) g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d)) g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2)) g.SmoothingMode = mode End Sub </code></pre> <p>To call this function, handle the paint event of the picturebox and pass the e.Graphics object as the first argument, and the picturebox's bounds as the second argument if you want the rectangle to fill your picture box completely.</p> <p>The d parameter changes the corners' angle, I call it with a value of 30, you can try different values...</p> <p>Also, here's some code to draw (instead of fill) a rounded rectangle:</p> <pre><code>Public Sub DrawRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal p As Pen) g.DrawArc(p, r.X, r.Y, d, d, 180, 90) g.DrawLine(p, CInt(r.X + d / 2), r.Y, CInt(r.X + r.Width - d / 2), r.Y) g.DrawArc(p, r.X + r.Width - d, r.Y, d, d, 270, 90) g.DrawLine(p, r.X, CInt(r.Y + d / 2), r.X, CInt(r.Y + r.Height - d / 2)) g.DrawLine(p, CInt(r.X + r.Width), CInt(r.Y + d / 2), CInt(r.X + r.Width), CInt(r.Y + r.Height - d / 2)) g.DrawLine(p, CInt(r.X + d / 2), CInt(r.Y + r.Height), CInt(r.X + r.Width - d / 2), CInt(r.Y + r.Height)) g.DrawArc(p, r.X, r.Y + r.Height - d, d, d, 90, 90) g.DrawArc(p, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90) End Sub </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload