public override void OnMouseMove(ChartControl chartControl, ChartPanel chartPanel, ChartScale chartScale, ChartAnchor dataPoint) { if (IsLocked && DrawingState != DrawingState.Building) { return; } switch (DrawingState) { case DrawingState.Building: if (StartAnchor.IsEditing) { dataPoint.CopyDataValues(StartAnchor); } if (EndAnchor.IsEditing) { dataPoint.CopyDataValues(EndAnchor); } break; case DrawingState.Editing: dataPoint.CopyDataValues(EndAnchor); break; case DrawingState.Moving: StartAnchor.MoveAnchor(InitialMouseDownAnchor, dataPoint, chartControl, chartPanel, chartScale, this); EndAnchor.MoveAnchor(InitialMouseDownAnchor, dataPoint, chartControl, chartPanel, chartScale, this); break; } }