private void _ChartMain_MouseMove(object sender, MouseEventArgs e) { if (!Cursors) { return; } while (UpdateSpan < 100) { Thread.Sleep(1); } //cursor position schould not be changed while zooming, if mouse have not moved during this operation if (ZoomPointOrigin == ZoomPointNow) { return; } ChartMain.Invoke((MethodInvoker)(() => { ChartArea area = ChartMain.ChartAreas[0]; area.CursorX.SetCursorPixelPosition(MousePosition, false); area.CursorY.SetCursorPixelPosition(MousePosition, false); CursorPosition = new Point2D(area.CursorX.Position, area.CursorY.Position); })); }
private void CursorsLabelsUpdate() { if (CursorPosition.IsInvalid || !Cursors) { return; } int XX = MousePosition.X - LblCursorX.Width / 2; int YY = MousePosition.Y - LblCursorY.Height / 2; //bool visible = true; ChartArea areas = ChartMain.ChartAreas[0]; if (PlotVector.IsInvalid || !AMath.InArea(PlotVector, (Point2D)MousePosition)) { return; } DateTime time = DateTime.FromOADate(CursorPosition.X); string sX = time.ToString("yyyy-MM-dd HH:mm:ss"); string sY = System.String.Format("{0:N5}", CursorPosition.Y); ChartMain.Invoke((MethodInvoker)(() => { if (sX != LblCursorX.Text) { LblCursorX.Text = sX; LblCursorX.Location = new Point(XX, LblCursorX.Location.Y); } if (sY != LblCursorY.Text) { LblCursorY.Text = sY; LblCursorY.Location = new Point(LblCursorY.Location.X, YY); } ChartMain.Update(); })); }
private void _ChartMain_MouseMove(object sender, MouseEventArgs e) { if (!Cursors) { return; } while (UpdateSpan < 100) { Thread.Sleep(1); } ChartMain.Invoke((MethodInvoker)(() => { ChartArea area = ChartMain.ChartAreas[0]; area.CursorX.SetCursorPixelPosition(MousePosition, false); area.CursorY.SetCursorPixelPosition(MousePosition, false); CursorPosition = new Point2D(area.CursorX.Position, area.CursorY.Position); })); }