Учитывая, что Start/Stop
переключает свойство IsEnabled
, ваше предположение близко.
Start/Stop
отличается при сбросе Interval
, тогда как простое переключение IsEnabled
не приведет к сбросуInterval
.
С MSDN :
Установка IsEnabled на false, когда таймер запускается, останавливает таймер.
Установка IsEnabled наtrue, когда таймер остановлен, запускает таймер.
Start устанавливает IsEnabled в значение true.
Start сбрасывает интервал таймера.
EDIT: Что я имею в виду подСбрасываемый интервал - это не само свойство Interval, а фоновый интервал, который определяет, как долго будет запускаться следующее событие тика.
Например.Если у вас есть интервал в 1000 мс, и вы останавливаете / отключаете его, если для запуска используется 250 мс (он работает в течение 750 мс), это результат зависит от того, как вы запустите его снова.
- Если вы запустите егос
Start()
, то пройденный интервал будет сброшен до 0, и это будет 1000 мс до возникновения события Tick
. - Если вы повторно включите его с помощью
IsEnabled = true
, он продолжится сэто текущее местоположение, и событие Tick
будет возбуждено через 250 мс.
Надеюсь, это прояснит это для вас.