c#chart1.Series.Clear()不起作用

时间:2013-11-12 00:14:08

标签: c# charts clear

for (int i = 0; i < intarr.Length; i++)
{
    Series series = this.chart1.Series.Add(strarr[i]);

    series.Points.Add(intarr[i]);
    series.XValueType = ChartValueType.Int32;
}

这是我的代码,我有

chart1.Series.Clear();

在我正在调用的函数的顶部。 第一次,没关系。但是我第二次收到此错误

A chart element with the name 'NSW' already exists in the 'SeriesCollection'.

在这一行

Series series = this.chart1.Series.Add(strarr[i]);

由于

2 个答案:

答案 0 :(得分:0)

显然strarr有两个名为“NSW”的元素。你要么必须捕获异常(我假设它抛出异常)或者检查是否已经存在具有该类型的元素。

答案 1 :(得分:0)

当您尝试添加名称已存在于系列集合中的系列时,会发生此错误! 图表的系列名称应该是唯一的

可能strarr的值不是唯一的它包含多个相同值的实例。

那么如何预防呢?请遵循以下代码: - )

chart1.Series.Clear();
        for (int i = 0; i < intarr.Length; i++)
        {
            if (chart1.Series.FindByName(strarr[i])== null)
            {
                Series series = this.chart1.Series.Add(strarr[i]);
                series.Points.Add(intarr[i]);
                series.XValueType = ChartValueType.Int32;
            }
        }

我建议你改变方案,如果你想进一步帮助评论我。