C#在绘制chart图标曲线时,需要能够获取点击处曲线的数值。
首先采取了第一个方法,利用ToolTipEventArgs事件去触发碰到曲线的点(不知道我这么理解对不对),再将ToolTipEventArgs的Text属性赋值即可实现,优点是非常简单,无需其他步骤,但其因为用到HitTest方法,只能获取序列点上的坐标值,不能获得“空白”位置的值。而且鼠标只要碰到曲线就会更新数值,最终放弃了。写法如下:
private void chart1_GetToolTipText(object sender, ToolTipEventArgs e)
{
if (e.HitTestResult.ChartElementType == ChartElementType.DataPoint)
{
this.Cursor = Cursors.Cross;
int pointIndex = e.HitTestResult.PointIndex;
DataPoint dp1 = chart1.Series[0].Points[pointIndex];
DataPoint dp2 = chart1.Series[1].Points[pointIndex];
string YValue1 = dp1.YValues[0].ToString("0.0");
string YValue2 = dp2.YValues[0].ToString("0.0");
}