LightningChart光标移动的标记无法正常工作问题解答

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

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

移动红色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光标移动的标记无法正常工作问题解答
回复:光标移动的标记无效
则必须在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正版授权,或了解更多产品信息请点击【咨询在线客服】

猜你喜欢

转载自blog.51cto.com/15078157/2621471