[MSChart] 如何得知滑鼠指標所在Series的值

[MSChart] 如何得知滑鼠指標所在Series的值

使用微軟提供的工具MSChart去繪製統計圖表,如果希望能夠在滑鼠指到那個Series時,就用個Annotation圖表註解來顯示它的值,如下圖所示 :

image

指標是指在2009/10/1這個直條圖上,上面的數據就是這條直條圖的Y值,如果要得到折線圖的值,一樣指在Series上即可.

 

這個的功能很簡單,在這個Chart Control的Mouse事件上加入這段Code即可,看你是要用Mouse Move還是Mouse Down,這部份看個人需求.

private void chart1_MouseDown(object sender, MouseEventArgs e)
{
	HitTestResult htr = new HitTestResult();
	htr = chart1.HitTest(e.X, e.Y);
	DataPoint dp = new DataPoint();
	((TextAnnotation)chart1.Annotations[0]).Visible = htr.PointIndex > -1;
	if (htr.PointIndex > -1)
	{
		dp = htr.Series.Points[htr.PointIndex];
		((TextAnnotation)chart1.Annotations[0]).Text = dp.YValues[0].ToString();
		((TextAnnotation)chart1.Annotations[0]).AnchorDataPoint = dp;
	}
}

短短這幾行Code,就可以做到這個效果囉~