Die LightningChart-Cursorbewegungsmarkierung funktioniert nicht ordnungsgemäß

Problem: Die Markierung für die Cursorbewegung funktioniert nicht

Obwohl dies eine sehr einfache Aufgabe ist, habe ich einen Code, der nicht richtig funktioniert.

Können Sie mir nach dem Verschieben des roten Kreuzmarkers helfen, den Marker an die richtige Position zu bringen?

Nach dem Verschieben des Markers rufe ich "SolveNearestSampleByCoord" auf, um das neueste Beispiel zu erhalten: Der Wert ist korrekt. Wie Sie im Textfeld sehen können.
Der Cursor bleibt jedoch an der Mausposition, anstatt sich an die gewünschte Position zu bewegen.

Dies ist der einfache Code, den ich verwende.
private void Cl1_MovedByMouse (Objektabsender, MouseEventArgs e)
{
SeriesEventMarker marker = (SeriesEventMarker) Absender;
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(); ;

}}

Die LightningChart-Cursorbewegungsmarkierung funktioniert nicht ordnungsgemäß
Antwort: Wenn die Markierung für die Cursorbewegung ungültig ist
, muss nach dem MovedbyMouse-Handler ein MouseUp-Handler hinzugefügt werden, damit die Markierung platziert wird.
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 ();
}
}
Wenn Sie Fragen dazu haben, wenden Sie sich bitte an den Kundendienst.

Wenn Sie eine echte Lizenz für LightningChart erwerben möchten oder weitere Produktinformationen erhalten möchten, klicken Sie auf [Online-Kundendienst konsultieren].

Ich denke du magst

Origin blog.51cto.com/15078157/2621471
Empfohlen
Rangfolge