【发布时间】:2012-09-20 08:47:59
【问题描述】:
我想在 MSChart 的极坐标图中选择点。
我有ChartAreas.CursorX(and Y).IsUserSelection = true。但是当我尝试选择一个区域时,SelectionChanged 事件没有激活,我也没有在图表中看到选择。
【问题讨论】:
标签: c# .net winforms visual-studio-2010 mschart
我想在 MSChart 的极坐标图中选择点。
我有ChartAreas.CursorX(and Y).IsUserSelection = true。但是当我尝试选择一个区域时,SelectionChanged 事件没有激活,我也没有在图表中看到选择。
【问题讨论】:
标签: c# .net winforms visual-studio-2010 mschart
没有,看mschart的内部代码,当图表区域为圆形时(如极坐标图),光标用户选择被禁止。
其实chart.MouseDown的反编译代码是这样的:
if(!area.IsCircular ...)
{
area.CursorX.Cursor_MouseDown(this, e);
area.CursorY.Cursor_MouseDown(this, e);
}
因此,唯一的方法是处理MouseClick/MouseMove 事件,使用HitTest 方法获取点值并手动执行您需要的任何操作。
例如,this answer 解释了如何在 MouseClick/MouseMove 事件上显示工具提示。
编辑:
Here's a full working code piece 展示了如何在极坐标图中实现选择。
截图:
【讨论】: