日期:2014-05-20  浏览次数:20720 次

在图表区内双击取得对应柱状图的值
C# VS2005
MSChart图表,显示了柱状图
       

     //绑定数据源
            chart1.DataSource = dataTable;
            //X轴---dataTable中是day字段,实际这里是小时
            chart1.Series[0].XValueMember = "date";
            //Y轴
            chart1.Series[0].YValueMembers = "length";

我用以下代码获取对应双击柱子的X值和Y值

private void chart1_MouseDoubleClick(object sender, MouseEventArgs e)
        { 
            // Call Hit Test Method
            HitTestResult result = chart1.HitTest(e.X, e.Y);
 
            if (result.ChartElementType == ChartElementType.DataPoint)
            {
                 
                DataPoint selectedDataPoint = (DataPoint)result.Object;
 
                MessageBox.Show("X 值:" +selectedDataPoint.XValue + " Y 值: " + selectedDataPoint.YValues[0]);
            }
            else if (result.ChartElementType != ChartElementType.Nothing)
            {
                string elementType = result.ChartElementType.ToString();
                MessageBox.Show(this, "Selected Element is: " + elementType);
            }
 
        }


但是,当显示柱状图的数据来源改成如下代码时,上述双击后却无法取得对应柱状图的X轴值。调试进去发现取到的永远都是0.0   ,请问有知道的吗??

for (int i = 0; i < 20;i++)
{
   chart1.Series["length"].Points.AddXY(date[i], length[i]);
}




------解决方案--------------------
第一种应该没问题,我也处理过
第二种方法没试过,不清楚
帮你顶了