我使用Mschart制作图表。我想要得到的是最近的数据点,点击图表。问题是我在HitTest值和数据点x / y值之间找不到任何连接。
说,我点击了以下几点:
Dim result As HitTestResult = Chart.HitTest(e.X, e.Y)
我现在点击了X和Y的值。 如何将其与数据点值相关联?
我想要实现的是双击图表,该图表会找到最近的数据点(x,y为整数),并且知道这些值,我将能够根据用户需要的位置重新计算其他值。双击。
任何提示? P上。
编辑:
到目前为止,它把我带到了这里:
Dim selectedDataPoint As DataPoint = Nothing
Dim hitResult As HitTestResult = Chart.HitTest(e.X, e.Y)
If hitResult.ChartElementType = ChartElementType.DataPoint Then
Me.Cursor = Cursors.Cross
selectedDataPoint = CType(hitResult.Object, DataPoint)
MsgBox(selectedDataPoint.Name)
MsgBox(selectedDataPoint.XValue.ToString)
MsgBox(selectedDataPoint.YValues(0).ToString)
End If
不幸的是,XValue给了我“0”作为输出,其实我的字符串值由“weeknumber / yearnumber”组成。知道为什么会这样吗?
答案 0 :(得分:3)
我找到了问题的答案。请查看以下所有感兴趣的代码:
If hitResult.ChartElementType = ChartElementType.DataPoint Then
Me.Cursor = Cursors.Cross
selectedDataPoint = CType(hitResult.Object, DataPoint)
lblY.Text = selectedDataPoint.YValues(0).ToString
lblX.Text = selectedDataPoint.AxisLabel.ToString
End if