2011-12-01 130 views
1

我使用MS圖表製作圖表。 如果用戶點擊標記點,現在圖表中有標記點,我想從中獲取座標 。在鼠標點擊獲取ms圖表中的標記位置

我想要在圖表中進行交互操作,以便點擊標記點我可以檢索標記點的座標(x軸和y軸)。

例如,對於圖: -

graph

上點擊橙色點或藍點我要得到cordinates對於這一點,

例如第一個藍點(10/11/2011,49)

由於

回答

0

從MS圖表樣本(http://archive.msdn.microsoft.com/的MSChart),見第「圖表特徵>交互式圖表>數據點的選定」

private void chart1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) 
{ 
    // Call Hit Test Method 
    HitTestResult result = Chart1.HitTest(e.X, e.Y); 

    if(result.ChartElementType == ChartElementType.DataPoint) 
    { 
    // index of the clicked point in its series 
    int index = result.PointIndex; 
    // actual values 
    Console.WriteLine(result.Series.Points[result.PointIndex].XValue); 
    Console.WriteLine(result.Series.Points[result.PointIndex].YValues[0]);                
    } 
} 
+0

I M僅獲取點(1,2,3,4)爲x軸的索引。點擊點時如何獲得實際的x軸標籤(日期)。 –

+0

我使用DataBindCrossTable將數據綁定到圖表。 –

+0

請參閱[這裏](http://stackoverflow.com/questions/36869585/spline-chart-how-to-get-the-clicked-item/36870298#36870298),其中顯示瞭如何獲取值的示例。您可能需要從double轉換爲datetime .. – TaW

1
<pre>void chart_MouseDown(Object sender, System.Windows.Forms.MouseEventArgs e) 
{ 
    HitTestResult result = chart.HitTest(e.X, e.Y); 
    switch(result.ChartElementType) 
    { 
    case case ChartElementType.DataPointLabel: 
     DateTime start = DateTime.FromOADate(result.Series.Points[result.PointIndex].XValue); 
     ... 
     break; 
    } 
}</pre> 
相關問題