Arction高性能图表控件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(); ;
}
回复:光标移动的标记无效
则必须在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();
}
}
关于LightningChart
Arction Ltd 成立于2007年,是一家坐落于北欧芬兰的控件开发商,是微软公司认证的合作伙伴。其产品LightningChart高效渲染效率很受.NET开发者青睐。Arction 在重塑图表控件领域中做出卓越成绩: 2009年,Arction成为业界著名WinForms图表控件领域中引入DirectX 2D渲染的制造商; 2013年,以行业领导地位针对WPF制图行业中使用DirectX引入真正硬件加速的制造商而闻名; 近年来,Arction专注于开发卓越高性能和更为先进的数据可视化工具,设定行业更高标准。
标签:控件,标记,Arction,chart,问题解答,marker,LightningChart 来源: https://www.cnblogs.com/TechObserver/p/14375892.html