4

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

在此处输入图像描述

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

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

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

任何帮助表示赞赏。注意

4

1 回答 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);
                    }
                }
            }
        }
于 2013-08-14T16:06:19.177 回答