2011-10-27 4 views
0

저는 차트를 생성하기 위해 Mschart를 사용합니다. 내가 얻으려고하는 것은 가장 가까운 데이터 포인트입니다. 여기를 클릭하여 차트를 클릭합니다. 문제는 HitTest 값과 데이터 포인트 x/y 값 사이에 어떤 연결도 찾을 수 없다는 것입니다.MSChart 가장 가까운 데이터 포인트

말, 나는 다음과 같은 점에 클릭 :

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 ". 왜 이런 식으로 생각하니?

답변

3

글쎄 내 질문에 대한 답변을 찾았습니다. 관심있는 모든 사람들 아래의 코드를 참조하십시오.

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