Ok, I think I may have it. I can get it to draw a region and fill it with a gradient.
Now I need to see if I can get it to draw on the background of my control
yet allow the text to be in front. If not then I will need to draw the text
too.

Note: this is on a button only as a test (75 x 23)

VB Code:
  1. Private Sub Button1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Button1.Paint
  2.         Dim myPath As New GraphicsPath
  3.         'Top line
  4.         myPath.AddLine(7, 0, 64, 0)
  5.         'Right top arc
  6.         myPath.AddArc(64, 0, 10, 10, 270, 90)
  7.         'Right line
  8.         myPath.AddLine(74, 7, 74, 22)
  9.         'Bottom line
  10.         myPath.AddLine(74, 22, 0, 22)
  11.         'Left line
  12.         myPath.AddLine(0, 22, 0, 7)
  13.         'Left top arc
  14.         myPath.AddArc(0, 0, 10, 10, 180, 90)
  15.         ' Draw the path to the screen.
  16.         Dim myPen As New Pen(Color.White, 1)
  17.         e.Graphics.DrawPath(myPen, myPath)
  18.         'Draw the gradient
  19.         Dim br As New LinearGradientBrush(Me.ClientRectangle, Color.White, Color.CornflowerBlue, LinearGradientMode.Horizontal)
  20.         e.Graphics.FillPath(br, myPath)
  21.     End Sub
  22.  
  23.     Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize
  24.         Me.Button1.Invalidate()
  25.     End Sub