我正在尝试从图表中的鼠标单击事件中检索系列名称。我查看了文档,包括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!");
}
}
答案 0 :(得分:2)
这是有效的:
[...]
parameterNameStr = seriesHit.Series.Name;
// ^^^^^ Simple fix!!
[...]