0856デフォルトの名無しさん
2018/09/24(月) 21:01:33.03ID:VSctwqS/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;
}