Nous allons utiliser la classe Timer
mais pour pouvoir l'utiliser, nous devons ajouter la bibliothèque System.Windows.Forms
.
Ajout de la bibliothèque
Pour ajouter la bibliothèque à votre projet avec Visual-Studio, allez dans Projet > Ajouter une référence
puis cliquez sur "Assemblys", cherchez et cochez System.Windows.Forms
.
Ajout de la référence
Enfin vous devez ajouter le code suivant dans la classe où vous voulez implémenter votre système :
using System.Windows.Forms;
Si vous êtes sur un projet WindowsForms, vous n'avez pas besoin de suivre cette première étape.
Nous allons créer, instancier et paramétrer notre composant. Pour cela nous allons créer une variable de type Timer
.
Déclaration des variables
class TutoTimer
{
private Timer timerTest; //Déclaration de notre composant timer
private int delay = 1000; //Délai de 1 seconde (valeur en millisecondes)
}
On a déclaré une deuxième variable delay
qui servira de valeur à la propriété Interval
du timer.
Elle correspond à un délai de 1 seconde.
Instanciation et paramétrage
class TutoTimer
{
...
public TutoTimer()
{
timerTest = new Timer();
timerTest.Interval = delay;
}
}
La propriété Interval
permet de définir le délai en millisecondes entre chaque exécution de votre méthode.
Par exemple si vous définissez un intervalle de 10000 alors toutes les 10 minutes, votre méthode s'exécutera (10 * 1000).
Il faut savoir que : 1 seconde = 1000 millisecondes
Un timer possède un événement Tick
qui permet de déclencher votre méthode
toutes les x millisecondes.
Abonnement
class TutoTimer
{
...
public TutoTimer()
{
...
timerTest.Tick += TimerTest_Tick; //Abonnement à l'événement Tick du timer
timerTest.Start(); //Activation du timer
}
private void TimerTest_Tick(object sender, EventArgs e)
{
//Cette méthode s'exécutera toutes les [delay] millisecondes
//Vous pouvez ajouter votre code à exécuter après un certain délai ici
}
}
La méthode TimerTest_Tick
s'exécutera toutes les x millisecondes. Dans l'exemple, elle s'exécutera toutes les 1 seconde car
on a défini la propriété Interval
à 1000 (millisecondes).
Dans cette méthode, vous pouvez ajouter votre code à exécuter.
La méthode Start
permet d'activer le timer.
Vous pouvez aussi utiliser la méthode Stop
pour l'arrêter.
using System.Windows.Forms;
class TutoTimer
{
private Timer timerTest; //Déclaration de notre composant timer
private int delay = 1000; //Délai de 1 seconde (valeur en millisecondes)
public TutoTimer()
{
timerTest = new Timer();
timerTest.Interval = delay; //On définit l'intervalle entre chaque exécution
timerTest.Tick += TimerTest_Tick; //Abonnement à l'événement Tick du timer
timerTest.Start(); //Activation du timer
}
private void TimerTest_Tick(object sender, EventArgs e)
{
//Cette méthode s'exécutera toutes les [delay] millisecondes
//Vous pouvez ajouter votre code à exécuter après un certain délai ici
}
}