Я хочу отобразить диаграмму в реальном времени.Прокрутка TrackBar для отображения моей диаграммы в реальном времени
Мой метод путем добавления DataPoint как TrackBar завитков.
private void trackBar1_Scroll(object sender, EventArgs e)
{
if (trackBar1.Value < valueBefore) //scrolling to the left removes previous DataPoint
{
try
{
chart1.Series["Correlation"].Points.RemoveAt(valueBefore);
}
catch
{
MessageBox.Show(valueBefore.ToString()); //Try catch for debugging purposes
}
}
else //scrolling to the right adds DataPoint based on trackBar's current value
{
chart1.Series["Correlation"].Points.AddXY(Convert.ToDouble(age[trackBar1.Value]), salary[trackBar1.Value]);
}
valueBefore = trackBar1.Value; //in order to know which
label1.Text = "No. of records : " + (trackBar1.Value + 1);
}
код работает, если я использую мои клавиши со стрелками или щелчками мыши (SmallChange и LargeChange, определенные в 1).
Прокрутка вправо не вызывает никаких проблем, однако прокрутка влево приведет к ошибке исключения, которую я не могу определить. Кажется, что valueBefore
моего индекса DataPoint находится вне диапазона, так:
System.ArgumentOutOfRangeException was unhandled
HResult=-2146233086
Message=Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
ParamName=index
Source=mscorlib
Как решить эту проблему?