如何在鼠标悬停上查看图表点的值?

时间:2016-08-26 02:17:51

标签: vb.net charts

我在图表上有各种各样的观点。我希望能够在鼠标悬停在特定点上的工具提示中显示该点的确切值。

示例:

Chart1.Series("Series1").Points.AddXY("Jul", 600)
Chart1.Series("Series1").Points.AddXY("aug", 458)

在鼠标悬停在图表上的这些点上时,工具提示文本应显示“600”或“458”。

修改

这让我接近但它只显示了点上鼠标位置的值,而不是该点的完整值:

 Private Sub Chart1_GetToolTipText(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataVisualization.Charting.ToolTipEventArgs) Handles Chart1.GetToolTipText
    If e.HitTestResult.PointIndex >= 0 Then
        If e.HitTestResult.ChartElementType = DataVisualization.Charting.ChartElementType.DataPoint Then
            MetroToolTip1.SetToolTip(Chart1, e.y.tostring)
        End If
    End If
End Sub

2 个答案:

答案 0 :(得分:2)

我意识到你找到了解决方案,但最简单的方法是设置'Series.ToolTip'属性。

Chart1.Series(0).ToolTip = "#VAL{0.0}"

工具提示使用关键字来定义要显示的值,然后是大多数情况下跟在MS Custom Numeric Format Strings之后的可选格式说明符。查找这些关键字的最简单方法是使用PropertyGrid中公开的编辑器来设置工具提示。

在此示例中,#VAL告诉它显示y值。 {0.0}告诉它使用“0.0”格式字符串格式化数字。

编辑: 我在Dundas网站上找到了一个表(MS从他们那里购买了控件),其中列出了关键字并解释了有关格式说明符用法的更多信息。 http://support2.dundas.com/Default.aspx?article=1132

来自MSDN的关键字文档:Keywords [rs_vsDataVis]

答案 1 :(得分:0)

这是显示点值所需的代码:

Private Sub chart1_GetToolTipText(sender As Object, e As ToolTipEventArgs) Handles Chart1.GetToolTipText
    ' Check selected chart element and set tooltip text for it
    Select Case e.HitTestResult.ChartElementType
        Case ChartElementType.DataPoint
            Dim dataPoint = e.HitTestResult.Series.Points(e.HitTestResult.PointIndex)
            e.Text = dataPoint.YValues(0).ToString
            Exit Select
    End Select
End Sub