2011-10-27 24 views
0

私はMschartを使用してチャートを作成します。私が得ようとしているのは、最も近いデータポイントです。ここで私はグラフをクリックします。問題は、HitTestの値とデータポイントのx/y値との間の接続が見つからないことです。私は今、私がクリックしたXとYの値を持つMSChartに最も近いデータポイント

Dim result As HitTestResult = Chart.HitTest(e.X, e.Y) 

言ってやるが、私は次の点をクリックしました。 これをデータポイント値に関連付けるにはどうすればよいですか?

私が達成したいのは、最も近いデータポイント(整数としてのx、y)を見つけるチャートをダブルクリックして、これらの値を知っていると、ユーザーが必要とする場所に基づいて他の値を再計算できますダブルクリックします。

ヒント P.

EDIT:

はこれまでのところ、それは私をここにもたらした:

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