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

4
我使用Win Forms (C#.Net Framework 3.5)在运行时创建了一个图表。
我想使此图表的图例项互动。我的要求是,当用户单击图例中的颜色项时,应该打开一个颜色调色板,当用户从调色板中选择颜色时,所选颜色应用于外部系列数据项。
如何实现这一点?简而言之,如何为图例项添加单击事件处理程序?
感谢任何帮助。NB

你的文本和其中一个标签之间存在不一致:你正在使用.NET 3.5还是4.0?请删除错误的那个(标签或文本)。 - varocarbas
感谢更新。我已经从标签中删除了C# 4.0。 - Nilesh Barai
1个回答

7

终于找到答案了...在这里发布代码,以便于其他人参考。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接