devexpress chartControl,点击柱形图的柱子时,如何触发单击事件
C# devexpress chartControl柱状图,当点击柱形图中的柱子时 如何触发单击事件,并获取柱子上显示的值! 有高手指点一下吗。。 难道就没人知道吗?还是根本就实现不了这个功能 本帖最后由 guqiu 于 2014-2-19 12:26 编辑全部折叠 全部展开语言筛选: 全部 语言筛选: 多个 语言筛选: Visual Basic 语言筛选: C# 语言筛选: JScript
Visual Basic
C#
JScript
XtraCharts
如何: 确定哪个系列点位于测试点下面
参阅
XtraCharts > 示例 > 如何: 确定哪个系列点位于测试点下面
Show Me
在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E2717。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。
这个示例展示了如何接管 ChartControl.MouseMove 事件,从而确定哪个 系列点 位于测试点下面,并且使用 ToolTipController 在工具提示中显示它的参数和取值信息。
要在运行时刻启用点击测试,以便于让本示例正确工作,则把 ChartControl.RuntimeHitTesting 属性设置为 true。
C# 复制代码
(Form1.cs)
using System;
using System.Windows.Forms;
using DevExpress.XtraCharts;
// ...
private void chartControl1_MouseMove(object sender, MouseEventArgs e) {
// Obtain hit information under the test point.
ChartHitInfo hi = chartControl1.CalcHitInfo(e.X, e.Y);
// Obtain the series point under the test point.
SeriesPoint point = hi.SeriesPoint;
// Check whether the series point was clicked or not.
if (point != null) {
// Obtain the series point argument.
string argument = "Argument: " + point.Argument.ToString();
// Obtain series point values.
string values = "Value(s): " + point.Values.ToString();
if (point.Values.Length > 1) {
for (int i = 1; i < point.Values.Length; i++) {
values = values + ", " + point.Values.ToString();
}
}
// Show the tooltip.
toolTipController1.ShowHint(argument + "\n" + values, "SeriesPoint Data");
}
else {
// Hide the tooltip.
toolTipController1.HideHint();
}
}
不能使用 ChartControl.HitTest 方法来实现此目的,因为此方法返回鼠标单击的 ChartElement (图表元素)。 SeriesPoint (系列点) 对象不是图表元素,而 Series、XYDiagram 和 ChartControl 对象都是图表元素。
在下面的插图中显示了结果。
参阅
ChartControl.CalcHitInfo
ChartHitInfo.HitTest
HotTrackEventArgs.HitInfo
如何: 只为热跟踪点显示系列标签
就此主题发送反馈意见。
Copyright (c) 1998-2011 Developer Express Inc. 保留所有权利。
guqiu 发表于 2014-2-19 12:24
全部折叠 全部展开语言筛选: 全部 语言筛选: 多个 语言筛选: Visual Basic 语言筛选: C#...
我想通过鼠标单击柱子 然后弹出一个Form,不知道可以实现不。 chartControl1_MouseMove 事件 和 单击事件差不多的吧,你试试 guqiu 发表于 2014-2-19 16:06
chartControl1_MouseMove 事件 和 单击事件差不多的吧,你试试
chartControl1_MouseMove 是可以。但感觉一移动到柱子上就弹出一个窗体,不是很合理。 chartcontrol没有 Click 事件么? 有 我要点柱子才跳转窗体,解决了 多谢 不客气{:2_25:} mnbmbn2 发表于 2014-2-20 08:39
有 我要点柱子才跳转窗体,解决了 多谢
怎么解决的说下吧 刚好遇到了 做人不厚道,自己解决了就公布出来 解决了发一下啊!我正打算这么弄呢 本帖最后由 ZLQQ 于 2014-10-30 10:54 编辑
guqiu 发表于 2014-2-19 12:24
全部折叠 全部展开语言筛选: 全部 语言筛选: 多个 语言筛选: Visual Basic 语言筛选: C#...
就这里面的代码用到MouseClick也可以啊 只要判断point不等于null 就是选中了 另外设置RunTimeSelection为True
页:
[1]