2017-03-02 24 views
2

私はWindowsフォームのツールボックスからドラッグしてC#用の円グラフをクリックしようとしていて、そのスライスの詳細情報を表示しています。今、これは私がクリックのために持っているコードです。私はこれが正しいルートかどうか、私はどのようなルートを取るべきかと思っています。円グラフのスライスのクリック

private void chart1_Click(object sender, EventArgs e) 
{ 
    HitTestResult results = chart1.HitTest((e as MouseEventArgs).X, (e as MouseEventArgs).Y); 
} 

私ははい、それは正しいappoachでもusing System.Windows.Forms.DataVisualization.Charting;

答えて

4

ています。

DataPointがなど有効であればあなたは今テストすることができます。..

私は、デフォルトでMouseEventArgsを持っている、ところでMouseClickを使用します。

private void chart1_MouseClick(object sender, MouseEventArgs e) 
{ 
    HitTestResult hit = chart1.HitTest(e.X, e.Y, ChartElementType.DataPoint); 

    if (hit.PointIndex >= 0) 
    { 
     DataPoint dp = chart1.Series[0].Points[hit.PointIndex]; 
     label1.Text = "Value #" + hit.PointIndex + " = " + dp.XValue; 
    } 
} 

private void chart1_MouseMove(object sender, MouseEventArgs e) 
{ 
    HitTestResult hit = chart1.HitTest(e.X, e.Y); 
    var dp = hit.Object as DataPoint; 
    Cursor = (dp is null) ? Cursors.Default : Cursors.Hand; 
} 

注:

あなたも、ここで

は例..です MouseMoveイベントをコーディングし、ユーザーがデータポイントの上にあることを示すために、カーソルを制御するために同じhittestを使用することができます2つのイベントはヒットをテストするさまざまな方法を使用します..

enter image description here

関連する問題