【问题标题】:MSChart Nearest data pointMSChart 最近的数据点
【发布时间】:2011-10-27 07:28:12
【问题描述】:

我使用 Mchart 来制作图表。我想要得到的是最近的数据点,我点击图表的位置。问题是我找不到 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”组成的字符串值。知道为什么会这样吗?

【问题讨论】:

    标签: vb.net charts mschart


    【解决方案1】:

    嗯,我找到了我的问题的答案。有兴趣的请看下面的代码:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-16
      • 2020-10-30
      • 1970-01-01
      • 2022-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      相关资源
      最近更新 更多