2017-05-13 30 views
0

C#アプリケーションで何度もCreateChart()を呼び出す必要があります。しかし、エラーが表示されますチャートシリーズが正常に動作しない

追加情報: 'Income'という名前のチャート要素は、すでに 'SeriesCollection'にあります。

次のコードを使用してグラフシリーズをクリアしました。

foreach (var series in chart1.Series) 
    { 
     series.Points.Clear(); 
    } 

stackoverflow Link

から上記のコードを取ったが、まだ同じ問題が来ます。ここにCreateChart()があります。問題なく、チャートを初めて読み込みます。複数回ロードすると、エラーが発生します。

foreach (var series in chart1.Series) 
       { 
        series.Points.Clear(); 
       } 
       chart1.Series[0].IsVisibleInLegend = false; 
       var IncSeries = new Series("Income"); 
       var ExpSeries = new Series("Expense"); 
       IncSeries.Points.DataBindXY(new[] { "Today's Income" }, new[] { Income }); 
       ExpSeries.Points.DataBindXY(new[] { "Today's Expense" }, new[] { Expense }); 
       chart1.ChartAreas[0].AxisX.IsReversed = true; 
       chart1.Series.Add(IncSeries); 
       chart1.Series.Add(ExpSeries); 
+2

"次のコードを使用してチャートシリーズをクリアしました" - いいえ、そのコードはチャートのシリーズコレクションの各シリーズのポイントコレクションをクリアします。コピーするコードを探すのではなく、それを理解しようとしてください。いったん作品がどのように動作するのかを学ぶと、コピーするコードを見つけることなくそこから構築できます。 – TnTinMn

答えて

2

あなたはシリーズをクリアしていません。あなたは一連の点だけをクリアしました。

chart1.Series.Clear(); 
var IncSeries = new Series("Income"); 
var ExpSeries = new Series("Expense"); 
IncSeries.Points.DataBindXY(new[] { "Today's Income" }, new[] { Income }); 
      ExpSeries.Points.DataBindXY(new[] { "Today's Expense" }, new[] { Expense }); 
chart1.ChartAreas[0].AxisX.IsReversed = true; 
chart1.Series.Add(IncSeries); 
chart1.Series.Add(ExpSeries); 
chart1.Series[0].IsVisibleInLegend = false; 
関連する問題