在C#图中选择性地隐藏序列

在C#图中选择性地隐藏序列,c#,charts,customization,mschart,C#,Charts,Customization,Mschart,假设我有一张图表,上面有两个系列。然后,对于每个系列,我都有一个复选框来说明我是否想看到它们。假设我最初策划了这两部电影,后来,我想隐藏其中一部。最好的方法是什么 我知道我可以只Clear()it,然后AddXY()把它们放回去,但是有没有更快的方法呢 我的想法: 1。根据复选框将可见性属性设置为true/false。 没有可见性属性 2。将点集合复制到变量,清除并放回。 系列[]。点为只读 3。将序列复制到变量,清除点,然后重新输入。 显然,当我尝试此操作时,它会将该系列存储为引用,但我找不到

假设我有一张图表,上面有两个系列。然后,对于每个系列,我都有一个复选框来说明我是否想看到它们。假设我最初策划了这两部电影,后来,我想隐藏其中一部。最好的方法是什么

我知道我可以只
Clear()
it,然后
AddXY()
把它们放回去,但是有没有更快的方法呢

我的想法:


1。根据复选框将可见性属性设置为true/false。
没有可见性属性

2。将点集合复制到变量,清除并放回。
系列[]。点
为只读

3。将序列复制到变量,清除点,然后重新输入。
显然,当我尝试此操作时,它会将该系列存储为引用,但我找不到复制命令


所以我显然是走错了路。如何动态允许图表隐藏不同的系列?

要在MSChart中隐藏系列,请按以下方式使用
Enabled
属性:

msChart.Series["Series"].Enabled = false;
再次展示:

msChart.Series["Series"].Enabled = true;

因此,您不需要删除点并重新添加它们。

还有另一种方法可以在不隐藏图例的情况下执行此操作

简单地说:

Chart.Series[0].Color = Color.FromArgb(0, 0, 0, 0); //sets color to transparent
您可以重置为颜色。稍后清空以恢复默认颜色


这里唯一的缺点是,除非系列中的最后一项被隐藏,否则其他行将被重新存储

,这很简单。我不认为检查一个“启用”,只是可见的。我明白他们为什么选择这个名字了。出于好奇,您最初是如何知道启用是允许此功能的?我记得我很幸运地通过玩设计器找到了此启用属性:)@Larry,谢谢您提供的信息。不幸的是,禁用它们也会阻止图表显示我禁用的图例。有没有办法禁用一个系列,但仍然显示其图例信息?非常感谢。