Chart没有直接的API,但是我们可以通过DataIndexFromPoint这个方法来算出Distance, Distance最小,说明离得最近,也就是你点击到的Series.
下面就写了一个算法来计算鼠标接近的是哪个序列,你可以用这个做判断。
- int seriesIndex =0;
- for (int i = 0; i < c1Chart1.Data.Children.Count; i++)
- {
- double distance12;
- int pi = c1Chart1.View.DataIndexFromPoint(pt, i, MeasureOption.XY, out distance12);
- if (double.IsNaN(minDistance) || distance12 < minDistance)
- {
- minDistance = distance12;
- seriesIndex = i;
- }
- }
复制代码 |