我有一个c# windows窗体应用程序,在我的windows窗体中有2个图表,我也有一个组合框和两个按钮等。我想要的是根据combobox的文本,当我按下启动按钮时,加载不同的图形。因此,在按钮启动事件,根据combobox的值,我调用一个不同的函数,每次加载我想要的图表。第二个按钮,停止按钮有下面的代码,以清除图表。
chart1.Series.Clear();
chart2.Series.Clear();
有时,我的代码运行正常,但有时它会抛出错误 "在'SeriesCollection'中已经存在一个名称为'kwh_price'的图表元素"。我加载图表的代码是:"我是不是做错了什么?
string[] seriesArray = { "kwh_price", "p_cost" };
for (int i = 0; i < seriesArray.Length; i++)
{
this.chart1.Series.Add(seriesArray[i]);
this.chart1.Series[seriesArray[i]].BorderWidth = 7;
}
我是不是做错了什么 我是不是需要更多的东西来清除图表?我不明白为什么有时运行正常,有时却不正常。
把清除代码放在加载代码之前。这样你就可以确保在添加新的数据之前,数据已经被清除了。
chart1.Series.Clear();
chart2.Series.Clear();
string[] seriesArray = { "kwh_price", "p_cost" };
for (int i = 0; i < seriesArray.Length; i++)
{
this.chart1.Series.Add(seriesArray[i]);
this.chart1.Series[seriesArray[i]].BorderWidth = 7;
}