gpt4 book ai didi

c# - 饼图切片点击

转载 作者:行者123 更新时间:2023-11-30 13:44:16 26 4
gpt4 key购买 nike

我正在尝试单击我从 C# 的 Windows 窗体工具箱中吸取的饼图,并显示该切片的详细信息。现在这是我的点击代码。我想知道这是正确的路线还是我应该走的路线。

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

我也在使用System.Windows.Forms.DataVisualization.Charting;

最佳答案

是的,这是正确的方法。

您现在可以测试 DataPoint 是否有效等。

我会使用 MouseClick 顺便说一下,它默认有 MouseEventArgs

您甚至可以编写 MouseMove 事件并使用相同的 HitTest 来控制光标以显示用户位于数据点上。

这是一个例子:

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

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

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;
}

请注意,这两个事件使用不同的方式来测试命中……!

enter image description here

关于c# - 饼图切片点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42563240/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com