ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c# – 饼图切片单击

2019-07-22 10:08:25  阅读:248  来源: 互联网

标签:c winforms data-visualization pie-chart


我试图点击我的饼图,我从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;
}

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

enter image description here

标签:c,winforms,data-visualization,pie-chart
来源: https://codeday.me/bug/20190722/1501645.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有