C# chart,有关如何在鼠标移动到Series上时显示节点及数据 (有待继续更新)
2016-09-11 19:16
1901 查看
一、效果与思路
效果:private void chartControl4_MouseMove(object sender, MouseEventArgs e) { ChartHitInfo hitInfo = chartControl4.CalcHitInfo(e.Location); StringBuilder builder = new StringBuilder(); if (hitInfo.InDiagram) builder.AppendLine("In diagram"); if (hitInfo.InNonDefaultPane) builder.AppendLine("In non-default pane: " + hitInfo.NonDefaultPane.Name); if (hitInfo.InAxis) { builder.AppendLine("In axis: " + hitInfo.Axis.Name); if (hitInfo.AxisLabelItem != null) builder.AppendLine(" Label item: " + hitInfo.AxisLabelItem.Text); if (hitInfo.AxisTitle != null) builder.AppendLine(" Axis title: " + hitInfo.AxisTitle.Text); } if (hitInfo.InChartTitle) builder.AppendLine("In chart title: " + hitInfo.ChartTitle.Text); if (hitInfo.InLegend) builder.AppendLine("In legend"); if (hitInfo.InSeries) builder.AppendLine("In series: " + ((Series)hitInfo.Series).Name); if (hitInfo.InSeriesLabel) { builder.AppendLine("In series label"); builder.AppendLine(" Series: " + ((Series)hitInfo.Series).Name); } if (hitInfo.SeriesPoint != null) { builder.AppendLine(" Argument: " + hitInfo.SeriesPoint.Argument); if (!hitInfo.SeriesPoint.IsEmpty) builder.AppendLine(" Value: " + hitInfo.SeriesPoint.Values[0]); } if (builder.Length > 0) toolTipController.ShowHint("Hit-testing results:\n" + builder.ToString(), chartControl4.PointToScreen(e.Location)); else toolTipController.HideHint(); }
View Code
MouseLeave事件代码
private void chartControl4_MouseLeave(object sender, EventArgs e) { toolTipController.HideHint(); }
3.另一种鼠标移动显示信息的方法,用CustomDrawCrosshair事件,从别人那里学习的。这种还可以显示图片。
private void chartControl4_CustomDrawCrosshair(object sender, CustomDrawCrosshairEventArgs e) { foreach (CrosshairElement element in e.CrosshairElements) { SeriesPoint point = element.SeriesPoint; element.LabelElement.MarkerImage = Image.FromFile(@"F:\Resources\Add.png");// 设置图片路径 element.LabelElement.MarkerImageSizeMode = ChartImageSizeMode.Stretch; element.LabelElement.MarkerSize = new Size(100, 100); // 大小 element.LabelElement.Text = point.Values[0].ToString();//显示要显示的文字 } }
这里有devexpress用CustomDrawCrosshair事件显示点信息的DemoHow
to: Show a Tooltip with a Series Point's Data
参考
1.hustaiyaya, winform chart控件鼠标悬停显示Y值。
2.黄大仙儿,c#—devexpress chartcontrol 鼠标点击chart上的点事件,鼠标移动显示值,2014-3。
3. c# chart 鼠标放在数据点上出现的小提示。
相关文章推荐
- Flex中如何通过showAllDataTips属性使鼠标移动到图表时显示所有的数据Tips的例子
- Flex中如何设置Slider控件,使只有鼠标移动到HSlider/VSlider时才显示游标
- 如何让GridView过长数据缩写,当鼠标停留时显示详细信息...
- 空间数据范围发生变化后如何更新数据的显示范围
- zTree树控件key配置之title:zTree树节点名称过长如何省略显示且鼠标移入节点上能够显示全称
- 鼠标移动到Chart控件图表数据点处,显示相关信息
- 用jQuery如何实现删除子节点和winform label显示数据分页
- C# WinForm开发系列之chart控件画折线图和柱形图并自定义鼠标移动到数据标记点显示提示信息
- [技术分享 - TMG 篇] 20111101,如何更新 TMG 队列中节点——有关 NLB 网络负载均衡的一些想法
- Extjs中Chart利用series的tips属性设置鼠标划过时显示数据
- Struts2如何显示已经更新的模型数据
- ECharts鼠标移动到图标上面如何给数据加单位
- [转]如何在视图中跟随鼠标移动显示曲线坐标
- 如何解决Win7任务栏预览不见了鼠标移动到任务栏只显示标题的问题
- activity如何显示来自于BroadcastReceiver的更新数据
- 自己构造一个Tree类,当鼠标移动到树的节点上的时候用提示框显示该节点的信息
- QT QCharts QScatterSeries 空心点阵图,鼠标移动到上面显示数值,鼠标移开数值消失
- 移动磁盘显示无法访问执行页内操作时的错误,里面的数据如何找回
- Flex中如何创建一个自定义数据显示Tips的slider控件。鼠标按住滑标察看效果
- 转:zTree树控件key配置之title:zTree树节点名称过长如何省略显示且鼠标移入节点上能够显示全称