Итак, я хочу иметь возможность приостанавливать и возобновлять обновление моей диаграммы и текстового поля, когда я нажимаю кнопку. В настоящее время он просто обновляется в режиме реального времени. Я прикрепил свой код ниже, я пробовал ResumeUpdates () и PauseUpdates () для диаграммы, но это не работает для текстовых полей, о которых я понятия не имею. Данные, которые я получаю, хранятся в ArrayList, причем изначально они поступают из последовательного порта
Изменить: если у меня есть initraph () в функции кнопки mmy и вызываю ее оттуда, она вызывает ее один раз и обновляется один раз.
нажатие первой кнопки = диаграмма и текстовые поля обновляются в реальном времени
нажатие второй кнопки = пауза в диаграмме и текстовых полях
нажатие третьей кнопки = возобновление обновления диаграммы и текстовых полей
private void InitChart()
{
if (!b)
{
speedRecordChart.ChartAreas[0].AxisX.Maximum = 200;
speedRecordChart.ChartAreas[0].AxisX.Minimum = 0;
if (position.lat1 > 90)
{
textBox_analLat.Text = position.latComp1 + position.lat1 / 100;
}
else
{
textBox_analLat.Text = position.latComp1 + position.lat1;
}
if (position.lng1 > 180)
{
textBox_analLong.Text = position.lngComp1 + position.lng1 / 100;
}
else
{
textBox_analLong.Text = position.lngComp1 + position.lng1;
}
speedRecordChart.Series["Speed"].Points.Clear();
for (int i = 0; i < totalSpeedList.Count() - 1; ++i)
{
speedRecordChart.Series["Speed"].Points.AddY(totalSpeedList[i]);
}
Console.WriteLine("speedChart : " + totalSpeedList);
}
return;
}
/*****************************************for button**********/
Boolean b = true;
private void button_Resume_Click(object sender, EventArgs e)
{
if (b == true)
{
button_Resume.Text = "resume";
//speedRecordChart.Series.ResumeUpdates();
// serialPort1.Close();
InitChart();
}
else
{
button_Resume.Text = "pause";
// speedRecordChart.Series.SuspendUpdates();
// serialPort1.Open();
}
b = !b;
}