我在图表上有各种各样的观点。我希望能够在鼠标悬停在特定点上的工具提示中显示该点的确切值。
示例:
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
答案 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