0
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();

私が呼び出している関数の上部にあります。初回ラウンド、大丈夫です。ただし、2回目にこのエラーが発生します

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

この行で

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

ありがとう

4

2 に答える 2

0

どうやらstrarr「NSW」という名前の要素が 2 つあるようです。例外をキャッチするか (例外がスローされると仮定します)、そのタイプの要素がまだ存在しないことを確認する必要があります。

于 2013-11-12T00:17:38.410 に答える
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;
            }
        }

シナリオも変更することをお勧めします。さらに支援が必要な場合は、私にコメントしてください。

于 2013-11-12T07:31:07.150 に答える