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.

War es hilfreich?

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
scroll top