从Microsoft图表控件点击数据标记获取鼠标点击事件
本文关键字:获取 鼠标 事件 数据 控件 Microsoft | 更新日期: 2023-09-27 18:27:36
我的应用程序中有一个.net 4.0点图。我想捕捉鼠标在数据标记上的点击。当用户单击某个特定点时,我希望转到绑定表中数据来源的行。
此功能是否内置于.net图表控件中?
编辑:我发现我可能实际上想要光标位置值,而不是要求用户点击特定的数据点。一旦我有了光标位置,该值就可以用来查找数据集中最靠近鼠标单击的行。我接受了下面我最初问题的答案,因为这是我最初要求的正确答案。
用户quinn在帖子中找到了我"真正"问题的解决方案在图表控件上显示鼠标轴坐标
{
var chartArea = _chart.ChartAreas[0];
var xValue = chartArea.AxisX.PixelPositionToValue(x);
var yValue = chartArea.AxisY.PixelPositionToValue(y);
return new Tuple<double, double>(xValue, yValue);
}
你可以试试这个:
protected void Page_Load(object sender, EventArgs e)
{
foreach (DataPoint dp in this.Chart1.Series["YourSeriesName"].Points)
{
dp.PostBackValue = "#VALX,#VALY";
}
}
protected void Chart1_Click(object sender, ImageMapEventArgs e)
{
string[] pointData = e.PostBackValue.Split(',');
// Add click event code here
}
您需要在asp:Chart
中设置OnClick="Chart1_Click"
。或者,如果您的图表上有多个系列,您可以直接在系列上设置PostBack并传递有关该系列的信息。