2016-08-26 2 views
4

나는 차트에 다양한 점을 가지고 있습니다. 특정 지점에 마우스를 올리면 툴팁에 포인트의 정확한 값을 표시하고 싶습니다.마우스를 올려 놓았을 때 차트 지점의 값을 어떻게 봅니까?

예 : 차트에서 이러한 점을 마우스를 올려 놓으면에

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

나는 해결책을 찾았지만 가장 간단한 방법은 '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

+0

가장 간단한 방법이 이깁니다. 감사! –

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 
관련 문제