2009-10-16 7 views
0

Je suis sûr que cela a déjà été demandé, mais je n'arrive pas à trouver une solution qui fonctionne. J'ai un NumericUpDown sur mon formulaire et une étiquette avec une minuterie et un bouton. Je veux que la minuterie démarre lorsque le bouton est enfoncé et que l'intervalle pour que la minuterie soit égale à celle de NumericUpDown et qu'un compte à rebours soit affiché dans l'étiquette. Je sais que ça devrait être facile. De l'aide?C# - Compte à rebours utilisant NumericUpDown comme intervalle

Jusqu'à présent:

int tik = Convert.ToInt32(TimerInterval.Value); 

    if (tik >= 0) 
    { 
     TimerCount.Text = (tik--).ToString(); 
    } 

    else 
    { 
     TimerCount.Text = "Out of Time"; 
    } 

Il ne semble pas mettre à jour comme la minuterie tiques.

+0

Quel est votre problème spécifique? Les gens ne vont pas écrire votre code pour vous. –

+0

J'écris son code pour lui, tant que ce n'est pas ses devoirs et qu'il me paie –

+0

Pas de devoirs, projet personnel. Et je n'aime pas l'idée que les gens écrivent du code pour moi, je suis juste coincé. Je mettrai à jour le post pour montrer ce que j'ai jusqu'ici. – user

Répondre

2

Voici un exemple rapide de ce que vous cherchez. Cela devrait vous donner une idée de base sur ce que vous devez faire

//class variable 
    private int totNumOfSec; 

    //set the event for the tick 
    //and the interval each second 
    timer1.Tick += new EventHandler(timer1_Tick); 
    timer1.Interval = 1000; 


    private void button1_Click(object sender, EventArgs e) 
    { 
     totNumOfSec = (int)this.numericUpDown1.Value; 
     timer1.Start(); 
    } 

    void timer1_Tick(object sender, EventArgs e) 
    { 
     //check the timer tick 
     totNumOfSec--; 
     if (totNumOfSec == 0) 
     { 
      //do capture 
      MessageBox.Show("Captured"); 
      timer1.Stop(); 
     } 
     else 
      label1.Text = "Caputring in " + totNumOfSec.ToString(); 
    } 
+0

Merci beaucoup. – user

Questions connexes