how to allow the user to select different pen thickness for the lines, eg. triangle, circle, square?

On your form you will need a drop down list, textbox or slider control to accept the pen width as input from the user. Save this width to a variable and then when you are creating the pen use that variable to set the width.

float width = // input from the user
Pen blackPen = New Pen(Color.FromArgb(255, 0, 0, 0), width)