2010-05-07 6 views
4

J'ai un minuteur dans mon code avec un intervalle de 10s.Comment mettre la minuterie en pause dans C#?

Lorsque le temps se sera écoulé, je ferai quelques vérifications. Cela peut prendre plus de 10 secondes pour vérifier et mettre à jour certaines tâches. Cependant, si je n'ai pas arrêté la minuterie, il semble que la vérification sera exécutée toutes les 10 secondes. Si j'appelle stop(), la minuterie ne peut plus être redémarrée. dire quelque chose comme:

protected void timer_elapsed(object sender, EventArgs args) 
    { 
     __timer.Stop(); 
     //Some checking here more than 10s 
     __timer.Start(); 
    } 

Je veux juste une autre 10s de vérifier à nouveau avant la vérification est faite.

Quelqu'un peut-il aider?

+0

Essayez peut-être de définir la propriété timer enabled sur false si vous ne souhaitez pas qu'elle s'exécute, puis redéfinissez-la sur enabled lorsque vous êtes prêt à recommencer. – Robb

Répondre

5

En supposant que c'est quelque chose comme winforms ou WPF, que devrait fonctionner. Etes-vous sûr de ne pas avoir une exception ou quelque chose?

S'il est web, tous les paris sont hors ;-P Vous devriez peut-être préciser si cela est System.Threading.Timer, System.Timers.Timer ou System.Windows.Forms.Timer, ou autre chose.

Questions connexes