彩票走势图

高性能图表控件LightningChart关于悬停在点上时的工具提示问题解答

翻译|使用教程|编辑:杨鹏连|2021-06-23 10:09:35.420|阅读 169 次

概述:本文主要介绍了高性能图表控件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@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP