Réinitialiser la minuterie en C#
Cet article traite de la réinitialisation d’une minuterie à l’aide du langage de programmation C#.
Classe System.Timer
en C#
Cette classe System.Timer
en C# fournit un mécanisme pour exécuter un bloc de code lorsqu’un certain laps de temps s’est écoulé, et ce code peut être exécuté plusieurs fois.
Utilisez Timer.AutoReset
pour réinitialiser la minuterie en C#
Lorsque l'intervalle
du chronomètre est terminé, AutoReset
lui permet de se réinitialiser et de recommencer à compter à partir de 0
. Le compte à rebours commencera si la propriété enabled est définie sur true
, mais si celle-ci est définie sur false
, le minuteur devra être redémarré en appelant la méthode Start()
.
Lorsque la fonction de minuterie du programme est terminée, le programme doit être terminé et ses ressources rendues disponibles pour une utilisation dans d’autres contextes. Autrement dit, le Timer.AutoReset
lit ou écrit dans une valeur booléenne qui indique si le minuteur doit déclencher l’événement Elapsed
une seule fois false
ou plusieurs fois true
.
La syntaxe de l’événement AutoReset
est ci-dessous.
public bool AutoReset { get; set; }
Ce type d’événement peut être utilisé pour diverses choses, mais il est particulièrement bien adapté à une utilisation dans des applications Web pour déterminer l’état d’une connexion. Un chronomètre à utiliser pendant un jeu vidéo est encore une autre utilisation potentielle.
L’exemple suivant montre comment construire un Timer
avec un événement Elapsed qui se déclenche lorsque 2 secondes
se sont écoulées. La console est alors affichée avec le "My name is DelftStack"
comme sortie du gestionnaire d’événements associé.
-
Pour commencer, nous devons importer les bibliothèques suivantes.
using System; using System.Timers;
-
La déclaration de la variable timer, que nous appellerons
t
, à l’intérieur de la classeShanitimer
garantit qu’elle sera disponible pour toutes les méthodes.private static System.Timers.Timer t;
-
Nous allons configurer une minuterie en suivant les classes intégrées.
- La minuterie
AutoReset
se réinitialise et commence un nouveau comptage une fois qu’un intervalle s’est écoulé. Le temporisateur doit être réinitialisé s’il est réglé surfalse
. 2000
est l’intervalle de temps qui peut être modifié selon les circonstances. Vous pouvez spécifier enmillisecondes
combien de temps après avoir défini le paramètreInterval
vous voulez attendre avant d’exécuter le code nécessaire.
t.AutoReset = true; t.Enabled = true; t.Interval = 2000; t.Elapsed += ontime;
- L’attribut
Elapsed
spécifie la fonction à exécuter après le temps. La définition d’un gestionnaire d’événements en C# peut être accomplie plus rapidement en utilisant le+=
, comme je l’ai fait, et il demande au minuteur de s’abonner au gestionnaire d’événements.
- La minuterie
-
Nous avons également affiché quelques messages d’alerte sur la console.
Console.WriteLine(" Waiting for Command "); Console.WriteLine(" Click on Enter Button to Exit Console "); Console.ReadLine();
-
Arrêtez le chronomètre à l’aide de la fonction
Stop()
. La fonctionDispose()
doit être utilisée pour libérer toutes les ressources qu’elle a consommées après la fin de l’exécution de la minuterie.t.Stop(); t.Dispose();
-
Les arguments
Object
etSystem.Timers.ElapsedEventArgs s
sont requis pour la méthodeontime()
.private static void ontime(Object source, System.Timers.ElapsedEventArgs s) { Console.WriteLine(" My name is DelftStack "); }
Code source complet :
using System;
using System.Timers;
class Shanitimer {
private static System.Timers.Timer t;
static void Main() {
t = new System.Timers.Timer();
t.AutoReset = true;
t.Enabled = true;
t.Elapsed += ontime;
t.Interval = 2000;
Console.WriteLine(" Waiting for Command ");
Console.WriteLine(" Click on Enter Button to Exit Console ");
Console.ReadLine();
t.Stop();
t.Dispose();
}
private static void ontime(Object source, System.Timers.ElapsedEventArgs s) {
Console.WriteLine(" My name is DelftStack ");
}
}
Production:
Waiting for Command
Click on Enter Button to Exit Console
My name is DelftStack
My name is DelftStack
//After this line, I pressed enter
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn