C # - Compte à rebours L'utilisation NumericUpDown comme Intervalle
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.
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