我有一个图表,我希望用户在指针位于点上时看到这些值。通过在页面中使用 digEmAll 的帮助来查找图表中点的值,我可以编写以下代码:
Point? prevPosition = null;
ToolTip tooltip = new ToolTip();
void chart1_MouseMove(object sender, MouseEventArgs e)
{
var pos = e.Location;
if (prevPosition.HasValue && pos == prevPosition.Value)
return;
tooltip.RemoveAll();
prevPosition = pos;
var results = chart1.HitTest(pos.X, pos.Y, false, ChartElementType.PlottingArea);
foreach (var result in results)
{
if (result.ChartElementType == ChartElementType.PlottingArea)
{
chart1.Series[0].ToolTip = "X=#VALX, Y=#VALY";
}
}
}
通过上面的代码,当指针靠近一系列时,用户可以看到值。但是现在我怎样才能让用户只有在指针在点上时才能看到值?我换了
int k = result.PointIndex;
if (k >= 0)
{
chart1.Series[0].Points[k].ToolTip = "X=#VALX, Y=#VALY";
}
代替
chart1.Series[0].ToolTip = "X=#VALX, Y=#VALY";
解决我的问题。但这没有用。