public override void Draw(Graphics g) { if (centerline == null) { var cpoint = GetCenter(); foreach (var drawObject in drawObjects) { if (drawObject is DrawLineObject line) { if (line.GetWorldDrawObject().HitTest(cpoint) >= 0) { centerline = line; leftPointF = line.GetHandle(0); } } } } foreach (var drawObject in drawObjects) { if (drawObject == centerline) { centerline.MoveHandleTo(isClose ? new PointF(0, leftPointF.Y) : leftPointF, 0); } } base.Draw(g); }