What your trying to do is not all that all basic.
Here is the most basic example I can provide.
You will need to apply this with what you are doing.
This will draw a polygon and fill it. There are more things involved such as clip rectangles, cursors, and more. This should be a starting point for you.
Public Class Form1
Private Lip As Point()
Private IsLipClosed As Boolean
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
'If the point array is nothing or it is closed then
'start a new shape.
If Lip Is Nothing OrElse IsLipClosed Then
Lip = New Point() {}
IsLipClosed = False
End If
'If the point array has not made it back to the first
'point then add this point.
If IsLipClosed = False Then
ReDim Preserve Lip(Lip.Length)
Lip(UBound(Lip)) = e.Location
PictureBox1.Invalidate()
End If
'If the current point is within 2 pixels of the first point
'then the point array has made it back to the first point
'and is now a polygon. Consider it done and closed.
If (Lip.GetLength(0) > 1) AndAlso (e.X >= Lip(0).X - 2 And e.X <= Lip(0).X + 2) AndAlso (e.Y >= Lip(0).Y - 2 And e.Y <= Lip(0).Y + 2) Then
IsLipClosed = True
End If
End Sub
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
'if the point array is not closed and it is greater than 1 point
'then draw the lines. If its closed then fill it.
If Lip IsNot Nothing Then
If IsLipClosed Then
e.Graphics.FillPolygon(Brushes.Red, Lip)
ElseIf Lip.GetLength(0) > 1 Then
e.Graphics.DrawLines(Pens.Red, Lip)
End If
End If
End Sub
End Class