2011-10-27 40 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 

不幸的x值給我的「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