Comment ajouter un délai à un programme en C #?
Vous pouvez utiliser la fonction Thread.Sleep()
, par exemple.
int milliseconds = 2000;
Thread.Sleep(milliseconds);
cela arrête l'exécution du thread en cours pendant 2 secondes.
Quoi qu'il en soit, cela ne pourrait pas répondre à vos besoins ... qu'est-ce que vous essayez d'accomplir exactement?
Utilisez une minuterie avec un intervalle défini entre 2 et 3 secondes.
Vous avez le choix entre trois options différentes, selon le type d'application que vous écrivez:
N'utilisez pas Thread.Sleep
, car cela verrouillerait complètement le thread et l'empêcherait de traiter d'autres messages. En supposant qu’une application à un seul thread (comme la plupart d’entre elles), l’ensemble de votre application cessera de répondre, plutôt que de simplement faire une pause, comme vous le souhaitiez probablement.
Pendant 2,3 secondes, vous devriez faire:
System.Threading.Thread.Sleep(2300);
System.Threading.Thread.Sleep(
(int)System.TimeSpan.FromSeconds(3).TotalMilliseconds);
Ou avec les déclarations using
:
Thread.Sleep((int)TimeSpan.FromSeconds(2).TotalMilliseconds);
Je préfère ceci à 1000 * numSeconds
(ou simplement 3000
) car cela rend plus évident ce qui se passe pour quelqu'un qui n'a pas utilisé Thread.Sleep
auparavant. Cela documente mieux votre intention.