Sé que suena estúpido, pero he intentado todo para detener un temporizador, pero el cronómetro no se detiene. Estoy trabajando en un juego y agradecería que alguien me dijera cómo detener un temporizador.C# - ¿cómo se detiene un temporizador?
Respuesta
Si está utilizando System.Timers.Timer
puede detener como esto
timer.Enabled = false
si está utilizando System.Threading.Timer
, utilizar este
timer.Change(Timeout.Infinite , Timeout.Infinite)
O utilice
timer.Stop();
si está utilizando System.Windows.Forms.Timer
Suponiendo que está haciendo uso del System.Windows.Forms.Timer; ya que no había ninguna referencia explícita a cualquier otra cosa ... si ese es el caso ...
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;
o timer.Stop();
Con cada uno de los temporizadores en .NET framework, es posible que el temporizador se active justo antes de detenerlo, por lo que verá la devolución de llamada después de detenerlo.
Tendrá que usar algo como un asynchronous callback context: utilizar un conjunto bool
a true
cuando se quiere funcionando el temporizador, y la ajuste en false
al detenerlo. Luego haga que su devolución de llamada verifique su contexto para ver si realmente debería ejecutarse o no.
Me alegro de haber encontrado esta información aquí también. Estoy usando, en lugar de variable adicional, comprobando si el temporizador todavía está habilitado en la devolución de llamada del temporizador. – Fanda
Depende del temporizador. Si se trata de enhebrar el espacio de nombres, deséchelo y recíclelo cuando lo necesite, o haga que su delegado temporizador espere un evento de restablecimiento (consulte msdn). El espacio de nombre System.Timers tiene un método de inicio y detención.
Así que añadir a las respuestas anteriores, en caso de que está utilizando la clase System.Threading.Timer, Esto detendrá de forma permanente sin más oportunidad de utilizar la misma instancia:
timer.Dispose()
de otro modo:
timer.Change(Timeout.Infinite, Timeout.Infinite)
- 1. Temporizador no se detiene en Android
- 2. NSTimer no se detiene
- 3. ¿Cómo escribo un temporizador en Objective-C?
- 4. Cómo crear un temporizador en WinApi (C++)?
- 5. ¿Cómo reiniciar un temporizador en C#?
- 6. cómo utilizar temporizador en C#
- 7. C# transcurrido en un temporizador?
- 8. Usando un temporizador en C#
- 9. servicio de Android se detiene
- 10. cronómetro no se detiene en el androide
- 11. WPF temporizador Al igual que C# temporizador
- 12. C# Funciones del temporizador?
- 13. ¿Cómo se detiene un ciclo infinito en Javascript?
- 14. C Rellamada del temporizador
- 15. C# solicitud de examen temporizador problema
- 16. Python: ¿Cómo se muestra un temporizador en un terminal?
- 17. biblioteca temporizador en C
- 18. C temporizador # cuenta regresiva
- 19. ¿Cómo se detiene la enumeración rápida?
- 20. cocos2d: Cómo configurar un temporizador
- 21. ¿Cómo se detiene la adición de un TextWriterTraceListener usando app.config?
- 22. Cómo implementar un temporizador en C en Windows
- 23. temporizador de C# sin reentrada
- 24. ¿Cómo saber si se está ejecutando un temporizador?
- 25. ¿Cómo bloquear un temporizador mientras se procesa el evento transcurrido?
- 26. MediaPlayer se detiene y reinicia
- 27. ActiveMQ excepción cuando se detiene
- 28. Cómo se agrega un temporizador a una aplicación de consola C#
- 29. Retrollamada del temporizador en C++
- 30. Azure WorkerRole que se detiene inmediatamente después de iniciar
publique su código para un buen comienzo. – Pabuc
Muéstrenos un código – Kimtho6
¿Cuál de las clases de temporizador? Hay 4 que yo sé, solo en el BCL. – Oded