ZedGraph C# 条形图 - 如何检查鼠标单击了哪个条形图?

发布于 2024-09-10 16:36:12 字数 93 浏览 3 评论 0原文

我正在使用 ZedGraph 在 C# 中绘制绘图。我需要知道鼠标单击了哪个条形(在条形图中)。我怎样才能做到这一点?有什么方法可以按点获取条形图,例如更改条形图的颜色吗?

I am using ZedGraph to draw my plots in C#. I need to know which bar (in bar chart) was clicked by a mouse. How can I do that? Is there any way to get a bar by a point and for example change bar`s color?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝眸 2024-09-17 16:36:12

使用 MouseClick 事件并查找您单击的点的 X 和 Y 坐标:

    zg1.MouseClick+=new MouseEventHandler(zg1_MouseClick3);



    private void zg1_MouseClick3(object sender, MouseEventArgs e)
    {
        PointF pt = (PointF)e.Location;
        double x,y;
        ((ZedGraphControl)sender).MasterPane[0].ReverseTransform(pt, out x, out y);

        // Do something with X and Y
    }

注意,我假设我们正在第一个窗格(索引 0)上操作,但如果不是您的情况,那么您'您必须找到单击了哪个窗格(请参阅此示例)。

当您知道 X 和 Y 位置时,您应该能够轻松猜出哪个栏被单击,并利用该信息执行您需要的操作。

Use MouseClick event and find the X and Y coordinates of the point where you clicked:

    zg1.MouseClick+=new MouseEventHandler(zg1_MouseClick3);



    private void zg1_MouseClick3(object sender, MouseEventArgs e)
    {
        PointF pt = (PointF)e.Location;
        double x,y;
        ((ZedGraphControl)sender).MasterPane[0].ReverseTransform(pt, out x, out y);

        // Do something with X and Y
    }

Note, that I assumed we are operating on first pane (index 0) but if it is not your case, then you'll have to find which pane was clicked (see this example).

When you have X and Y position you should easily be able to guess which bar was clicked and do whatever you need with that information.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文