0
点赞
收藏
分享

微信扫一扫

高性能图表控件LightningChart光标移动的标记无法正常工作问题解答


LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。


问题:光标移动的标记无法正常工作

尽管这是一个非常简单的任务,但我有一段代码无法正常运行。

移动红色crossaim标记后,能否请您帮我将标记强制放在正确的位置?

移动标记后,我调用“ SolveNearestSampleByCoord”以获取最近的样本:值正确。正如您在文本框中看到的那样。
但光标停留在鼠标位置,而不是移至所需位置。

这是我正在使用的简单代码。

private void Cl1_MovedByMouse(object sender, MouseEventArgs e)
{
SeriesEventMarker marker = (SeriesEventMarker)sender;
selectedCursor = marker.Tag.ToString();
cursorSelected = true; double dXValue, dYValue;
int iNearestIndex;
int a = 0;
m_chart.BeginUpdate();
if (m_chart.ViewXY.SampleDataSeries[0].SolveNearestSampleByCoord(e.X, e.Y, out dXValue, out dYValue, out iNearestIndex)) ;
{
marker.VerticalPosition = SeriesEventMarkerVerticalPosition.AtYValue;
marker.HorizontalPosition = SeriesEventMarkerHorizontalPosition.AtXValue;
marker.Symbol.Shape = Shape.CrossAim;
marker.XValue = dXValue;
marker.YValue = dYValue;
XXX = dXValue;
YYY = dYValue;

txtX.Text = XXX.ToString(); // Just to make sure it is the right values
txtY.Text = YYY.ToString();
}
m_chart.EndUpdate(); ;}

高性能图表控件LightningChart光标移动的标记无法正常工作问题解答_3d

回复:光标移动的标记无效
则必须在MovedbyMouse处理程序之后添加一个MouseUp处理程序,以强制将标记放置到位。

private void Cl1_MouseUp(object sender, MouseEventArgs e)
{
SeriesEventMarker marker = (SeriesEventMarker)sender;
selectedCursor = marker.Tag.ToString();
cursorSelected = true;
{
m_chart.BeginUpdate();
marker.VerticalPosition = SeriesEventMarkerVerticalPosition.AtYValue;
marker.HorizontalPosition = SeriesEventMarkerHorizontalPosition.AtXValue;
marker.XValue = XXX;
marker.YValue = YYY;
m_chart.EndUpdate(); ;
m_chart.Refresh();
}
}



举报

相关推荐

0 条评论