【发布时间】:2014-08-23 01:09:33
【问题描述】:
我有一个 c# windows 窗体应用程序。我的 windows 窗体中有 2 个图表。我还有一个组合框和两个按钮。我想要的是根据组合框的文本,当我按下开始按钮加载不同的图表时。因此,在按钮启动事件中,根据组合框的值,我调用了一个不同的函数,该函数每次都加载我想要的图表。第二个按钮,停止按钮有下面的代码,以便清除图表。
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;
}
我做错了什么吗?为了清除图表还需要什么?而且我不明白为什么有时它运行正常而其他运行不正常。
【问题讨论】:
-
为什么不把clear code放在load code之前呢?这样,您可以确保在添加新数据之前清除数据。 chart1 / chart2 是什么对象类型?这是第 3 方组件还是您编写的?
-
@LeeWillis 我照你说的做,因为为了能够按下开始按钮,你必须先按下停止按钮,所以我先调用清除代码。它们是线和列
-
@LeeWillis 但出于某种原因,它成功了!我试了大约 7 .8 次,它奏效了。虽然它不应该有任何区别。我总是在加载之前调用清晰的代码。
-
Series.Add() 的反义词是 Series.Remove(),而不是 Series.Clear()
-
在解决问题时将评论移至答案