public override bool HitTest(int x, int y) { if (base.HitTest(x, y)) { return(true); } else { if (GraphicsUtil.HasPoint(StartPoint.MakeFlowChartPointArrayWith(EndPoint), x, y)) { if (GraphicsUtil.DistanceToLine(StartPoint, EndPoint, x, y) < View.ViewFactory.EdgeBoxWidth) { this.MouseState = Entities.MouseState.Move; this.LastHitPoint.X = x; this.LastHitPoint.Y = y; this.SelectedPoint = this.LastHitPoint; return(true); } } return(false); } }