在代码中创建VB.Net Chart - 如何从图表上的点击事件中获取X值?

时间:2013-12-03 02:57:31

标签: vb.net charts

我有一个在VB.Net WinForms应用程序的代码中创建的图表。表单运行时,图表将添加到面板并显示在表单上。一切都很好。

我正在尝试返回图表的光标属性,特别是我试图获取x坐标值。我知道在使用表单中创建的图表并放置在该图表的点击事件中时,我可以使用Me.Chart1.ChartAreas(0).CursorX.Position来获取此值。

目前,我为代码生成图表设置了点击事件。传递的论点如下:

Private Sub chart1_Click(ByVal sender As Object, _
                         ByVal e As System.EventArgs) Handles _Chart.Click 

当我单步执行代码时,e返回图表的鼠标位置,但光标位置(_Chart.ChartAreas(0).CursorX)返回"NaN"

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

我设法解决了这个问题。

在代码中创建的图表必须完成WithEvents。响应Click处理程序的方法需要传递MouseEventArgs而不是System.EventArgs,如下所示:

 Private Sub chart1_Click(ByVal sender As Object, _
                             ByVal e As MouseEventArgs) Handles _Chart.Click 

可以使用

返回X值
_Chart.ChartAreas(0).AxisX.PixelPositionToValue(e.X)