0
У меня есть функция OnPaint, которая рисует диаграмму:Winform перекрашивать через 5 секунд
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
cs.ChartArea = this.ClientRectangle;
AddData();
SetPlotArea(g);
cs.AddChartStyle(g);
dc.AddLines(g, cs);
//lg.AddLegend(g, dc, cs);
g.Dispose();
}
я добавил таймер внутри Form1(), который должен перерисовки диаграмму на каждые 5 секунд:
var timer = new Timer();
timer.Tick += new EventHandler(timer_Tick);
timer.Interval = 5000;
timer.Start();
и функция time_Tick:
void timer_Tick(object sender, EventArgs e)
{
//Repaint the chart
}
можно перерисовывать график каждые 5 секунд, используя функцию timer_Tick?
положить 'this.Invalidate();' в коде клеща. Непонятно, где вы создаете этот таймер, но похоже, что это может привести к утечке памяти - лучше объявить 'private timer = new Timer();' в области формы. – LarsTech
Не уничтожайте этот объект Graphic, вы его не создали. – LarsTech
Я добавляю таймер в методе Form1(). Если вы знаете лучшее место, пожалуйста, дайте мне знать. – Dana