c# – 饼图切片单击
作者:互联网
我试图点击我的饼图,我从Windows形式的工具箱中为C#吸毒,并显示该切片的详细信息.现在这是我点击的代码.我想知道这是正确的路线还是我应该走的路线.
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 btw,默认情况下有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;
}
请注意,这两个事件使用不同的方式来测试命中..!
标签:c,winforms,data-visualization,pie-chart 来源: https://codeday.me/bug/20190722/1501645.html