Je sais que cela semble stupide, mais j'ai tout essayé pour arrêter une minuterie, mais la minuterie ne s'arrêtera pas. Je travaille sur un jeu et j'apprécierais que quelqu'un puisse me dire comment arrêter une minuterie.C# - comment arrêtez-vous une minuterie?
Répondre
Si vous utilisez System.Timers.Timer
vous pouvez arrêter comme ça
timer.Enabled = false
si vous utilisez System.Threading.Timer
, utiliser cette
timer.Change(Timeout.Infinite , Timeout.Infinite)
Ou utilisez
timer.Stop();
si vous utilisez System.Windows.Forms.Timer
En supposant que vous utilisez le System.Windows.Forms.Timer; car il n'y avait pas de référence explicite à rien d'autre ... si tel est le cas ...
System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
myTimer.Stop();
System.Windows.Forms.Timer: timer.Enabled = false;
System.Threading.Timer: timer.Change(Timeout.Infinite, Timeout.Infinite);
System.Timers.Timer: timer.Enabled = false;
ou timer.Stop();
Avec chacun des minuteries Dans le framework .NET, il est possible que la minuterie se déclenche juste avant de l'arrêter, ainsi vous verrez le rappel après l'avoir arrêté.
Vous aurez besoin d'utiliser quelque chose comme un asynchronous callback context: utiliser un ensemble bool
à true
lorsque vous voulez que le fonctionnement de la minuterie et réglez sur false
lorsque vous l'arrêtez. Ensuite, demandez à votre callback de vérifier votre contexte pour voir s'il devrait vraiment fonctionner ou non.
Je suis content d'avoir trouvé cette information ici aussi. J'utilise, au lieu de variable supplémentaire, la vérification si le minuteur est encore activé dans le rappel du minuteur. – Fanda
Dépend de la minuterie. S'il provient d'un espace de noms de threads, éliminez-le et recréez-le quand vous en avez besoin, ou demandez à votre temporisateur de déléguer l'événement de réinitialisation (voir msdn). L'espace de noms System.Timers a une méthode start et stop.
Donc, pour ajouter aux réponses précédentes, dans le cas où vous utilisez la classe System.Threading.Timer, cela arrêtera définitivement sans autre possibilité d'utiliser la même instance:
timer.Dispose()
autrement:
timer.Change(Timeout.Infinite, Timeout.Infinite)
- 1. Minuterie WPF Minuterie C#
- 2. Comment exécuter une minuterie synchrone en C#?
- 3. Comment réinitialiser une minuterie en C#?
- 4. C# comment utiliser la minuterie?
- 5. Intervalles de minuterie, Faire une minuterie arrêter une autre minuterie -
- 6. Comment lancer une minuterie?
- 7. Comment ajouter une minuterie à une application de console C#
- 8. Fonctions de minuterie C#?
- 9. C# - Capture d'écran basée sur une minuterie
- 10. Commande de minuterie C++
- 11. C# minuterie comportement étrange
- 12. C# keypress départ minuterie
- 13. C# 2.0 Minuterie d'exécution
- 14. Comment mettre en œuvre une minuterie avec interruption en C++?
- 15. Comment coder une minuterie en C (sous Linux)?
- 16. Comment accéder à une minuterie d'une autre classe en C#
- 17. comment créer une minuterie dans Linux en langage C?
- 18. Comment utiliser la minuterie C# XNA?
- 19. Création d'une minuterie en C
- 20. Minuterie dans une fermeture
- 21. Comment utiliser la minuterie en C#?
- 22. comment utiliser une minuterie android
- 23. Java comment écrire une minuterie
- 24. Comment créer une minuterie PowerPoint?
- 25. Comment régler une minuterie javascript
- 26. comment régler la minuterie en C#
- 27. C++ utiliser thread comme minuterie
- 28. C# Minuterie 2 Actions Parallèlement
- 29. C# Thread.Sleep() dans la minuterie
- 30. Faire une minuterie simple
postez votre code pour un bon début. – Pabuc
Montrez-nous du code – Kimtho6
Lequel des minuteries? Il y en a 4 que je connais, juste dans la BCL. – Oded