读书人

在图表区内双击获得对应柱状图的值

发布时间: 2013-06-25 23:45:42 作者: rapoo

在图表区内双击取得对应柱状图的值
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]);
}




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

读书人网 >.NET

热点推荐