Hay tres clases Timer
que yo sepa, System.Threading.Timer
, System.Timers.Timer
, y System.Windows.Forms.Timer
, pero ninguno de estos tienen una función .Reset()
que restablecer el tiempo transcurrido actual a 0.¿Cómo reiniciar un temporizador en C#?
¿Hay una clase que tiene este BCL funcionalidad? ¿Hay alguna forma de hacerlo? (Pensé que tal vez cambiar el límite de tiempo podría restablecerlo). ¿Pensó en lo difícil que sería volver a implementar una clase Timer
que tenía esta funcionalidad, o cómo hacerlo de manera confiable con una de las clases BCL?
Utilizando la solución de JP use un método de extensión – benPearce
Yo también tengo la misma necesidad de reinicio y por las mismas razones mencionadas, FileSystemWatcher es desagradable e inconveniente de usar –
Si usa Cronómetro para un temporizador y elige el método de extensión, sea cuidado porque el método de extensión Stopwatch.Restart viene en .NET 4.0. http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.restart(VS.100,lightweight).aspx – si618