从HitTestResult获取数据点和/或图例对象的系列名称; c#Visual Studio 2010

时间:2013-08-29 21:52:22

标签: c# visual-studio-2010 charts series

我正在尝试从图表中的鼠标单击事件中检索系列名称。我查看了文档,包括HitTestResult Class,我从中收集到了我应该可以使用HitTestResult.Series来获取该系列文件。

当我尝试这个时,我得到“非静态字段需要对象引用,...”错误。虽然我理解(虽然粗略地理解)这个错误所指的是什么,主要来自对stackoverflow中其他人的问题的回答,但我对我的代码中发生的事情感到茫然。

注意:当我输入“HitTestResult。”时,Series不是IntelliSense中的选项;相反,只有两个选项是Equals和ReferenceEquals。

任何想法或见解都表示赞赏。谢谢!

示例代码:

private void myChart_MouseClick(object sender, MouseEventArgs e)
 {
   HitTestResult seriesHit = myChart.HitTest(e.X, e.Y);
    if (seriesHit.ChartElementType == ChartElementType.DataPoint)
    {
      MessageBox.Show("Selected by Series!");
      // ^^ This, as a test box, works fine...
      parameterNameStr = HitTestResult.Series.Name;
      // ^^ This is what I want but is causing trouble!
 }
   else if (seriesHit.ChartElementType == ChartElementType.LegendItem)
    {
      MessageBox.Show("Selected by Legend!!");
    }
   else
    {
      MessageBox.Show("Whoops, try again!");
    }
 }  

1 个答案:

答案 0 :(得分:2)

傻傻的我。我就在那里,只是没想到......

这是有效的:

[...]
   parameterNameStr = seriesHit.Series.Name;
                    // ^^^^^ Simple fix!!
[...]