我在用chart做一个实时温度曲线的时候总是弹出:索引超出范围。必须为非负值并小于集合大小。
参数名: index,请大神看看有什么解决办法
代码如下
RefreshChart deleRefresh = delegate
{
chart1.Series[0].Points.AddXY(time.ToOADate(), humi1);
chart1.Series[1].Points.AddXY(time.ToOADate(), humi2);
chart1.Series[2].Points.AddXY(time.ToOADate(), humi3);
chart1.Series[3].Points.AddXY(time.ToOADate(), humi4);
chart1.Series[4].Points.AddXY(time.ToOADate(), humi5);
chart1.Series[5].Points.AddXY(time.ToOADate(), humi6);
chart1.Series[6].Points.AddXY(time.ToOADate(), humi7);
chart1.Series[7].Points.AddXY(time.ToOADate(), humi8);
chart1.Series[8].Points.AddXY(time.ToOADate(), humi9);
chart1.Series[9].Points.AddXY(time.ToOADate(), humi10); foreach (var series in chart1.Series)
{
while (series.Points.Count > 40)
{
series.Points.RemoveAt(0);
}
}
ax.Minimum = chart1.Series[0].Points[0].XValue;
ax.Maximum =
DateTime.FromOADate(chart1.Series[0].Points[0].XValue).AddMinutes
(_timerInterval).ToOADate();
chart1.ResetAutoValues();
chart1.Invalidate();
};
chart1.Invoke(deleRefresh);
在执行到invoke()时就会弹出 索引超出范围
这种情况怎么解决呀
参数名: index,请大神看看有什么解决办法
代码如下
RefreshChart deleRefresh = delegate
{
chart1.Series[0].Points.AddXY(time.ToOADate(), humi1);
chart1.Series[1].Points.AddXY(time.ToOADate(), humi2);
chart1.Series[2].Points.AddXY(time.ToOADate(), humi3);
chart1.Series[3].Points.AddXY(time.ToOADate(), humi4);
chart1.Series[4].Points.AddXY(time.ToOADate(), humi5);
chart1.Series[5].Points.AddXY(time.ToOADate(), humi6);
chart1.Series[6].Points.AddXY(time.ToOADate(), humi7);
chart1.Series[7].Points.AddXY(time.ToOADate(), humi8);
chart1.Series[8].Points.AddXY(time.ToOADate(), humi9);
chart1.Series[9].Points.AddXY(time.ToOADate(), humi10); foreach (var series in chart1.Series)
{
while (series.Points.Count > 40)
{
series.Points.RemoveAt(0);
}
}
ax.Minimum = chart1.Series[0].Points[0].XValue;
ax.Maximum =
DateTime.FromOADate(chart1.Series[0].Points[0].XValue).AddMinutes
(_timerInterval).ToOADate();
chart1.ResetAutoValues();
chart1.Invalidate();
};
chart1.Invoke(deleRefresh);
在执行到invoke()时就会弹出 索引超出范围
这种情况怎么解决呀
这是最常见的索引越界的错误,debug看看