Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb.net图表控制点onclick事件_Vb.net_Events_Charts - Fatal编程技术网

vb.net图表控制点onclick事件

vb.net图表控制点onclick事件,vb.net,events,charts,Vb.net,Events,Charts,您好,我正在尝试将单击事件添加到图表点,但当我单击图表“对象引用未设置为对象实例”时,出现以下错误 这是我的密码 Private Sub Chart1_Click(sender As Object, e As System.EventArgs) Handles Chart1.Click Try Dim pointindex As Integer If result.ChartElementType = ChartElementType.DataPoint

您好,我正在尝试将单击事件添加到图表点,但当我单击图表“对象引用未设置为对象实例”时,出现以下错误

这是我的密码

Private Sub Chart1_Click(sender As Object, e As System.EventArgs) Handles Chart1.Click
    Try
        Dim pointindex As Integer
        If result.ChartElementType = ChartElementType.DataPoint Then
            pointindex = result.PointIndex
        End If
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

Private Sub Form1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
    result = Chart1.HitTest(e.X, e.Y)
End Sub

如果鼠标光标位于控件上方,则仅控件将接收事件,而不接收表单(有关解决方法,请参见此问题:)

因此,
Form1\u鼠标向下
将不会触发,
结果
仍将是
图表1\u单击

解决方案可能如下所示:

Private Sub Chart1_Click(sender As Object, e As System.EventArgs) Handles Chart1.Click
    Try
        Dim pointindex As Integer
        Dim result As HitTestResult
        result = Chart1.HitTest(Cursor.Position.X, Cursor.Position.Y)
        If result.ChartElementType = ChartElementType.DataPoint Then
            pointindex = result.PointIndex
        End If
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

如果鼠标光标位于控件上方,则仅控件将接收事件,而不接收表单(有关解决方法,请参见此问题:)

因此,
Form1\u鼠标向下
将不会触发,
结果
仍将是
图表1\u单击

解决方案可能如下所示:

Private Sub Chart1_Click(sender As Object, e As System.EventArgs) Handles Chart1.Click
    Try
        Dim pointindex As Integer
        Dim result As HitTestResult
        result = Chart1.HitTest(Cursor.Position.X, Cursor.Position.Y)
        If result.ChartElementType = ChartElementType.DataPoint Then
            pointindex = result.PointIndex
        End If
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

我的猜测是,表单没有收到鼠标按下事件,因此未设置结果,导致出现上述错误。这是您可以使用断点或调试输出轻松检查的内容。如果这真的是问题所在,您可以使用
光标。在
图表1中定位
。单击
。太好了。我将发布一个更具描述性的答案,以供将来参考。我的猜测是,表单没有收到鼠标按下事件,因此没有设置结果,从而导致上述错误。这是您可以使用断点或调试输出轻松检查的内容。如果这真的是问题所在,您可以使用
光标。在
图表1中定位
。单击
。太好了。我将发布一个更具描述性的答案,供将来参考。