c#—devexpress chartcontrol 鼠标点击chart上的点事件,鼠标移动显示值
2014-03-28 17:52
701 查看
Winform程序。
ChartControl.RuntimeHitTesting属性一定要设为True。
Line Series markers的Visible一定要弄成True。CalcHitInfo的SeriesPoint一直为null,最后跑到devexpress support center上问的。我的dev版本是13.1.5,设置属性的方法是Series->View->MarkerVisibility。有的版本可能是Series
-> LineMarkerOptions -> Visible。
我的是以曲线图Spline为例,下面就是代码。
1.鼠标点击点弹出Messagebox
![](https://img-blog.csdn.net/20140328173729296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHlqXzEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20140328173746609?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHlqXzEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2.鼠标移动用ToolTipController显示值
外面定义
下面是dev的源码
![](https://img-blog.csdn.net/20140328174521500?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHlqXzEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
3.另一种鼠标移动显示信息的方法,用CustomDrawCrosshair事件,从别人那里学习的。这种还可以显示图片。
![](https://img-blog.csdn.net/20140328174741250?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHlqXzEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
这里有devexpress用CustomDrawCrosshair事件显示点信息的DemoHow
to: Show a Tooltip with a Series Point's Data
ChartControl.RuntimeHitTesting属性一定要设为True。
Line Series markers的Visible一定要弄成True。CalcHitInfo的SeriesPoint一直为null,最后跑到devexpress support center上问的。我的dev版本是13.1.5,设置属性的方法是Series->View->MarkerVisibility。有的版本可能是Series
-> LineMarkerOptions -> Visible。
我的是以曲线图Spline为例,下面就是代码。
1.鼠标点击点弹出Messagebox
private void chartControl4_MouseClick(object sender, MouseEventArgs e) { ChartHitInfo hitInfo = chartControl4.CalcHitInfo(e.Location); if (hitInfo.SeriesPoint != null) { MessageBox.Show(hitInfo.SeriesPoint.Values[0].ToString()); } }
2.鼠标移动用ToolTipController显示值
外面定义
ToolTipController toolTipController = new ToolTipController();
下面是dev的源码
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(); }
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
相关文章推荐
- Dev ChartControl鼠标移动显示坐标点
- 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示
- C# winform 无边框窗体鼠标点击移动事件
- JTable中获取鼠标移动、点击以及内容改变事件
- js控制鼠标事件移动及移出效果显示
- CSS鼠标响应事件经过、移动、点击示例介绍
- Dev系列控件之XtraChart高级应用(模拟flash鼠标移动,点击实现相关信息提示)
- C# 模拟鼠标移动与点击
- Unity学习笔记——鼠标移动到物品上显示物品名字,点击后显示物品信息
- C# 点击鼠标右键引发的事件
- C# Win32API 模拟鼠标移动及点击事件
- C# Win32API 模拟鼠标移动及点击事件
- C#计时器;控件移动;获取鼠标坐标;事件调用事件;
- C#如何产生鼠标点击事件
- 实现鼠标鼠标点击之后随鼠标移动_event事件详解
- C#中,当鼠标移动到控件上,动态显示提示内容 -> 用代码操作ToolTip
- js控制鼠标事件移动及移出效果显示
- c# 无边框窗体鼠标点击移动方法
- C#实现鼠标移动到曲线图上显示值的方法
- 当鼠标滑过,点击地图时,高亮显示,触发事件