Teniendo en cuenta que Start/Stop
activa la propiedad IsEnabled
, su presupuesto está cerrado.
Start/Stop
difiere como el Interval
se pone a cero, en tanto que simplemente conmutando el IsEnabled
no restablecerá la Interval
.
De MSDN:
Configuración IsEnabled a falso cuando el temporizador se pone en marcha el temporizador se detiene.
El ajuste IsEnabled a verdadero cuando el temporizador se detiene inicia el temporizador.
Start sets IsEnabled to true.
Start reinicia el intervalo del temporizador.
EDIT: Lo que quiero decir por el intervalo de restablecerse no es la misma propiedad intervalo, pero el intervalo de fondo que determina el tiempo hasta el próximo evento garrapata se dispara.
Por ejemplo. Si tiene un intervalo de 1000ms y lo detiene/deshabilita si se ejecutan 250ms (se ejecuta durante 750ms), este es el resultado dependiendo de cómo lo inicie de nuevo.
- Si se inicia con
Start()
, entonces el intervalo transcurrido se restablecerá de nuevo a 0 y será 1000ms antes de que se ha producido el evento Tick
.
- Si lo vuelve a habilitar con
IsEnabled = true
, continuará desde su ubicación actual y el evento Tick
aumentará en 250 ms.
Espero que esto lo aclare por usted.
¿Qué ocurre con el intervalo si se reseted? Por el momento, creo que al llamar a Start/Stop, el valor Interval (int) no cambia. –
No es el valor del intervalo en sí, sino el intervalo de fondo. He actualizado mi respuesta para responder esto. –
Gracias! Está bastante claro ahora, excepto lo que sucede cuando llamamos a Stop()? ¿Se restablecerá el intervalo de fondo? –