asked on
Private Sub frmFilter_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
Debug.Write(sender.GetType.ToString & vbCrLf)
Dim r As System.Drawing.Drawing2D.GraphicsPath = RoundRect(e.ClipRectangle, 9)
e.Graphics.FillPath(Brushes.SteelBlue, r)
e.Graphics.DrawPath(Pens.Black, r)
End Sub
Public Function RoundRect(ByVal rect As Rectangle, ByVal Radius As Integer) As System.Drawing.Drawing2D.GraphicsPath
' Creates a round rect shape'
' <param name="rectangle">Rectangle of the shape</param>'
' <param name="roundRadius">Radius of the round corners, in pixels</param>'
' <returns>The round-rect path</returns>'
Dim innerRect As Rectangle = Rectangle.Inflate(rect, -Radius, -Radius)
RoundRect = New System.Drawing.Drawing2D.GraphicsPath()
With RoundRect
.StartFigure()
.AddArc(RoundBounds(innerRect.Right - 1, innerRect.Bottom - 1, Radius), 0, 90)
.AddArc(RoundBounds(innerRect.Left, innerRect.Bottom - 1, Radius), 90, 90)
.AddArc(RoundBounds(innerRect.Left, innerRect.Top, Radius), 180, 90)
.AddArc(RoundBounds(innerRect.Right - 1, innerRect.Top, Radius), 270, 90)
.CloseFigure()
End With
End Function
Menu.gif