2010-07-25 5 views
2

Comment réinitialiser un dispatcherTimer?Comment réinitialiser un dispatcherTimer?

dans mon application Je démarre une minuterie et plus tard j'utilise la méthode dispatcherTimer.Stop pour arrêter et la minuterie s'arrête. Je ferme l'application et la réexécute et la minuterie ne démarre pas à zéro. Comment régler la minuterie pour la réinitialiser et démarrer à zéro?

+0

Pour quelqu'un qui pourrait vouloir aborder cette question: http://stackoverflow.com/questions/3328880/how-to-use-dispatchertimer-stop-in-a-different-function –

+0

Comme il n'y a Nombre de tiques DispatcherTimer. Que voulez-vous dire par le minuteur ne commence pas à zéro? – jyoung

Répondre

3

Il ressemble à ce que vous appelez « count timer » est:

string etime = DateTime.Now.Second.ToString(); 

Depuis DateTime.Now est basé sur les ordinateurs horloge en temps réel, vous allez avoir une valeur différente pour les secondes en fonction du moment que vous démarrer le programme.

Vous voulez:

starttime = DateTime.Now; 
dispatcherTimer.Start(); 

et:

string etime = (DateTime.Now - startTime).Seconds.ToString(); 
+0

Ce que je veux dire, ou peut-être que j'obtiens juste ce concept de Dispatchertimer mal, est que je lance une minuterie (ce minuteur commence-t-il à zéro?) Et quand je l'arrête, je veux réinitialiser ce minuteur pour une utilisation future. – internetmw

+0

Merci d'avoir maintenant! – internetmw

1

minuteries compte à rebours. Cela est vrai pour tous les temporisateurs de logiciels que je connais. Vous lui donnez un temps spécifié, et il décompte, déclenchant un événement lorsqu'il atteint zéro.

Si vous voulez mesure temps écoulé, alors vous pouvez utiliser quelque chose comme StopWatch, qui compte.

0

cela réinitialisera un délai de dispatcher.

timer.Stop(); 
timer.Interval = new TimeSpan(0, 0, 0, 1); // 1sec 
timer.Start(); 
Questions connexes