2017-08-30 20 views
0

私は、zedgraphとdatagridviewを持つWindowsフォームアプリケーションで作業しています。 datagridviewには、折れ線グラフのすべての点の行があり、ユーザーがグラフ内の点をクリックすると、datagridviewの等価な行が強調表示されます。ZedGraph:折れ線グラフ上でクリックされたデータポイントを確認しますか?

どのようにしてユーザーがクリックしたかを知ることができますか? (私はdatagridviewの部分のためのコードを必要としません)。

+0

ZedGraphに精通していません。 MSChartでは、MouseclickイベントでHitTestを実行します。 – TaW

答えて

0

私はそれを理解しました。 GraphPane.FindNearestObjectを使用して、クリックされたポイントを見つけることができます。

あなたのポイントをクリックしないとnearestObjectnullているようだし、あなたがしなければタイプLineItemのものであり、その後、indexがクリックされたポイントを教えてくれます。

private void zedGraphControl_MouseClick(object sender, MouseEventArgs e) 
{ 
    object nearestObject; 
    int index; 
    this.zedGraphControl.GraphPane.FindNearestObject(new PointF(e.X, e.Y), this.CreateGraphics(), out nearestObject, out index); 
    if (nearestObject != null && nearestObject.GetType() == typeof(LineItem)) 
    { 
     // 'index' is the index of that data point 
     dataGridView.CurrentCell = dataGridView.Rows[index].Cells[0]; 
    } 
} 
関連する問題