1 2 3 4 5 6 7 8 9 10 11 12
| TimeSpan AverageDelay= new TimeSpan(300*10000) ; // Temps d'exécution par défaut (300 millisecondes), 10000 = nb de tick (100 ns) par ms
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Enabled = false ;
DateTime StartTime = DateTime.Now ;
// ... le traitement ici
TimeSpan Delay = DateTime.Now - StartTime ;
AverageDelay = new TimeSpan((AverageDelay/10)*9+Delay) ;
// ... Régler la quantité de traitement à effectuer dans le prochain tick en fonction de AverageDelay
timer1.Enabled = true ;
} |