C# - Countdown -Timer mit numericUpdown als Intervall
Frage
Ich bin mir sicher, dass dies schon einmal gefragt wurde, aber ich kann keine Lösung finden, die funktioniert. Ich habe einen numericUpdown in meinem Formular und ein Etikett zusammen mit einem Timer und einer Taste. Ich möchte, dass der Timer startet, wenn die Taste gedrückt wird, und das Intervall für den Timer entspricht dem des NumericUpdowns und ein Countdown wird im Etikett angezeigt. Ich weiß, dass das einfach sein sollte. Irgendeine Hilfe?
Bis jetzt:
int tik = Convert.ToInt32(TimerInterval.Value);
if (tik >= 0)
{
TimerCount.Text = (tik--).ToString();
}
else
{
TimerCount.Text = "Out of Time";
}
Es scheint nicht zu aktualisieren, wie der Timer tickt.
Lösung
Hier ist ein kurzes Beispiel zu dem, wonach Sie suchen. Dies sollte Ihnen eine Grundidee geben, was Sie tun müssen
//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();
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow