Ну, вы могли бы начать с чего-то вроде простого Line
класса:
public class Line
{
public Point Start { get; set; }
public Point End { get; set; }
}
Тогда вы могли бы иметь свою форму:
private Line Line = new Line();
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.DrawLine(Pens.Red, this.Line.Start, this.Line.End);
}
protected override void OnMouseMove(MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Line.Start = e.Location;
this.Refresh();
}
else if (e.Button == MouseButtons.Right)
{
this.Line.End = e.Location;
this.Refresh();
}
}
Так что в принципе тогда они могли бы удалить this.Line
может быть по нажатию "MiddleButton" или как-то так.Этого должно быть достаточно, чтобы начать работу.
Я создал образец , который показывает, как это можно сделать.Установите некоторые контрольные точки и посмотрите, как это делается.