翻譯|使用教程|編輯:楊鵬連|2021-06-23 10:09:35.420|閱讀 246 次
概述:本文主要介紹了高性能圖表控件LightningChart關于懸停在點上時的工具提示問題解答。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
LightningChart.NET完全由GPU加速,并且性能經過優化,可用于實時顯示海量數據——超過10億個數據點。LightningChart包括廣泛的2D、高級3D、Polar、Smith、3D餅/甜甜圈、地理地圖和GIS圖表以及適用于科學、工程、醫學、航空、貿易、能源和其他領域的體位功能。
LightningChart.NET重加入在線訂購,SignalTools,12個月,WPF版本原價405元,現價3499元,現在搶購立享優惠!立即購買>>
點擊下載LightningChart.NET最新試用版 LightningChart JS最新試用版
Q:懸停在點上時的工具提示
我有一個帶有點的FreeformPointLineSeries,并且設置LineVisible="false", PointsVisible="true" ... 我想顯示一些帶有自定義信息的工具提示,當鼠標懸停在圖表內的一個點上時. .....是那可能嗎?:)
A:是的,這是很有可能做到的。我們實際上有一兩個演示示例,它執行與此類似的操作(“散點、點跟蹤”和“帶標記的值跟蹤”)。您可以檢查它們及其源代碼,因為它們在這種情況下會有所幫助。
基本上,您可以在每個數據點的頂部放置一個SeriesEventMarker,并使用MouseOverOn- 和MouseOverOff- 事件來啟用和禁用它們的可見性。可以更新標記的標簽文本以顯示有關數據點的自定義信息。這種方法很有效,除非有數千(甚至數萬)個數據點,在這種情況下,有這么多SeriesEventMarker 會開始降低應用程序的性能。
也可以僅使用一個標記并通過求解MouseOverOn 事件內最近的數據點來更新其位置。例如:
// Defining the marker SeriesEventMarker marker = new SeriesEventMarker(); marker.MouseInteraction = false; marker.HorizontalPosition = SeriesEventMarkerHorizontalPosition.SnapToPoints; marker.VerticalPosition = SeriesEventMarkerVerticalPosition.AtYValue; marker.Visible = false; marker.Label.Border.Style = BorderType .Outer; marker.Label.Border.Color1 = Colors.Red; marker.Label.Distance = 15; freeformPointLineSeries.SeriesEventMarkers.Add(marker); freeformPointLineSeries.MouseOverOn += freeformPointLineSeries_MouseOverOn; freeformPointLineSeries.MouseOverOff += freeformPointLineSeries_MouseOverOff; private void freeformPointLineSeries_MouseOverOff( object sender, MouseEventArgs e) { _chart.ViewXY.FreeformPointLineSeries[0].SeriesEventMarkers[0].Visible = false; } private void freeformPointLineSeries_MouseOverOn(object sender, MouseEventArgs e) { _chart.BeginUpdate(); double xpos, ypos; int index; if (_chart.ViewXY .FreeformPointLineSeries[0].SolveNearestDataPointByCoord((int)e.GetPosition(_chart).X, (int)e.GetPosition(_chart).Y, out xpos, out ypos, out index)) { _chart.ViewXY.FreeformPointLineSeries[0 ].SeriesEventMarkers[0].XValue = xpos; _chart.ViewXY.FreeformPointLineSeries[0].SeriesEventMarkers[0].YValue = ypos; _chart.ViewXY.FreeformPointLineSeries[0].SeriesEventMarkers[0].Visible = true; _chart.ViewXY.FreeformPointLineSeries[0].SeriesEventMarkers[0].Label.Text = "X: " + xpos.ToString("0.00") + "\nY: " + ypos.ToString("0.00"); } _chart.EndUpdate(); }請注意,您還可以使用Annotation 代替SeriesEventMarker 的標簽來顯示自定義信息。注釋具有更多標簽樣式選項。
Q:很酷,它可以工作,現在我只有一個小問題--->可以用鼠標移動標記,有什么方法可以禁用它嗎?
A:是的,這是可能的。有兩個選項可供您選擇:
marker.MouseInteraction = false;
這可以防止鼠標與標記的所有交互,包括移動它、鼠標懸停突出顯示和鼠標事件。marker.MoveByMouse = false;
這只會阻止使用鼠標移動標記,但會保留上面提到的其他鼠標交互。
如果有任何疑問,請以獲取更多信息。
如果您對該圖表控件感興趣,歡迎加入圖表控件QQ交流群:740060302
欲購買LightningChart正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: