暇だから書いてみたけど何もおもろないなw
public class PolygonalLineEditor
{
  private List<Point> mPoints = new List<Point>();
  public Pen Pen { get; set; }
  public bool Clolsed { get; private set; }
  public Control TargetControl { get; private set; }

  public PolygonalLineEditor(Control target)
  {
    TargetControl = target;
    Pen = new Pen(Brushes.Black);
    TargetControl.Paint += TargetControl_Paint;
    TargetControl.MouseClick += TargetControl_MouseClick;
    TargetControl.DoubleClick += TargetControl_DoubleClick;
  }

  private void TargetControl_MouseClick(object sender, MouseEventArgs e)
  {
    if (Clolsed) return;
    mPoints.Add(e.Location);
    TargetControl.Invalidate();
  }

  private void TargetControl_DoubleClick(object sender, EventArgs e)
  {
    if (mPoints.Count < 2) return;
    Clolsed = true;
  }