c# - 如何在 C# 中使图表图例项具有交互性

标签 c# winforms charts mschart

我使用 win 表单 (C#.Net Framework 3.5) 在运行时创建了一个图表。

enter image description here

我想让这个图表的图例项具有交互性。

我的要求是,当用户点击图例中的颜色项时 - 应该打开一个颜色托盘,当用户从托盘中选择一种颜色时,所选颜色应该应用于外部系列数据项。

我如何实现这一目标?简而言之,如何为图例项添加点击事件处理程序?

感谢任何帮助。 注意

最佳答案

终于找到了答案...在这里发布代码,以便对其他人有所帮助。

private void HeapStatsChart_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            HitTestResult result = HeapStatsChart.HitTest(e.X, e.Y);
            if (result != null && result.Object != null)
            {
                // When user hits the LegendItem
                if (result.Object is LegendItem)
                {
                    // Legend item result
                    LegendItem legendItem = (LegendItem)result.Object;
                    ColorDialog Colour = new ColorDialog();
                    if (Colour.ShowDialog() == DialogResult.OK)
                    {
                        HeapChartColorPref[Convert.ToInt16(legendItem.Name.Substring(4))].color = Colour.Color;
                        GenerateHeapStatsChart(HeapChartColorPref);
                    }
                }
            }
        }

关于c# - 如何在 C# 中使图表图例项具有交互性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18202966/

相关文章:

c# - HttpWebRequest 因异步和等待而随机失败

c# - 在 TFS SDK 中获取变更集的日期?

c# - 丢失数据上下文的附加集合项

c# - 如何将一个方法作为参数传递给另一个方法?

c# - 如何从不同的方法调用事件方法?

charts - Google Charts - 更改单个条形颜色

c# - WCF 错误 : Manual addressing is enabled on this factory, 所以发送的所有消息都必须预先寻址

c# - janus gridex 在运行时更改单元格值?

vb.net - 仅当不等于零时才显示堆积柱形图标签值?

android - MPAndroidChart 避免数据点的标签裁剪