Microsoft Chart Control で クリックした位置の要素を取得 |
下記サンプルは、必ず、CSVファイルを使っての基本的なグラフの表示 をご覧になってからお試しください。 Private frgElement As Boolean Private Sub Button23_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button23.Click 'Microsoft Chart Control で クリックした位置の要素を取得 '別途、グラフを表示しておいてから実行して下さい。 frgElement = Not frgElement 'クリック毎にフラグを設定 End Sub Private Sub Chart1_MouseClick(ByVal sender As Object, ByVal e As _ System.Windows.Forms.MouseEventArgs) Handles Chart1.MouseClick 'クリックした位置の要素を取得 Dim htrResult As HitTestResult = Chart1.HitTest(e.X, e.Y) If htrResult.ChartElementType = ChartElementType.DataPoint And frgElement = True Then Dim i As Integer = htrResult.PointIndex Dim dp As DataPoint = htrResult.Series.Points(i) For j As Integer = 0 To Chart1.Series.Count - 1 If Chart1.Series(j).Name = htrResult.Series.Name Then Dim SeriesNo As Integer = j ' Debug.Print(SeriesNo.ToString) Exit For End If Next 'クリックした位置の要素を表示 MessageBox.Show(String.Format("{0}({1}) : {2}", htrResult.Series.Name, dp.AxisLabel, dp.YValues(0))) End If End Sub |
上記コードの実行結果 |
別途、グラフを表示しておいてから実行して下さい。 |