[MSChart] 如何得知滑鼠指標所在Series的值
使用微軟提供的工具MSChart去繪製統計圖表,如果希望能夠在滑鼠指到那個Series時,就用個Annotation圖表註解來顯示它的值,如下圖所示 :
指標是指在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,就可以做到這個效果囉~