Question

Je suis sûr que cela a été demandé, mais je ne peux pas sembler trouver une solution qui fonctionne. J'ai un NumericUpDown sur ma forme et une étiquette avec une minuterie et un bouton. Je veux la minuterie pour démarrer lorsque le bouton est enfoncé et l'intervalle pour que la minuterie égale à celle du NumericUpDown et un compte à rebours sera affiché dans l'étiquette. Je sais que cela devrait être facile. Toute aide?

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.

Était-ce utile?

La solution

Voici un exemple rapide à ce que vous recherchez. 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();
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top