Ich habe eine Taste, die ich drücke und es startet einen Countdown. Aber, wenn ich die gleiche Taste erneut drücke, muss der Timer zurückgesetzt werden und einen weiteren Countdown (mit einer anderen Zeit, die von meinem Programm definiert ist, aber jetzt ist dies irrelevant).Reset-Taste in einem Countdown-Timer
Gibt es eine Möglichkeit, dass ich diese Reset innerhalb der gleichen button_click tun kann? Vielleicht überprüft, ob die Taste erneut angeklickt wurde, damit ich die Timerwerte zurücksetzen kann?
Ich habe dieses Zeitgeberablaufstatusbit
private int milliSecondsLeft = 0;
private int t = 0;
private bool timeSet = false;
private void timer2_Tick(object sender, EventArgs e)
{
string timeOp = dataGridView1.Rows[t].Cells[5].Value + "";
t++;
DateTime timeConvert;
DateTime dateTime = DateTime.Now;
if (!timeSet)
{
DateTime.TryParse(timeOp, out timeConvert);
milliSecondsLeft = (int)timeConvert.TimeOfDay.TotalMilliseconds;
timeSet = true;
timeSetNxt = false;
}
milliSecondsLeft = milliSecondsLeft - 1000;
if (milliSecondsLeft > 0)
{
var span = new TimeSpan(0, 0, 0, 0, milliSecondsLeft);
lblLeft.Text = span.ToString(@"hh\:mm\:ss");
}
else
{
timer2.Stop();
}
}
und dieses button_click
jedes Mal, wenn ich meine Taste es t++;
geht drücken, dann liest es ein andermal Wert auf meinem Datagrid. das ist, warum es zurücksetzen müssen erstellt werden soll für die Logik, die Sie
int t = 1;
private void btn2_Click(object sender, EventArgs e)
{
timer2.Start();
lblLeft.Text = dataGridView1.Rows[t].Cells[5].Value.ToString();
string value = dataGridView1.Rows[t].Cells[5].Value.ToString();
lblLeft.Text = value.ToString();
t++;
}
Wo ist Ihr Code! Was hast du bisher versucht? – Marusyk
Um 'timer2' zurückzusetzen, rufen Sie einfach 'Stop()' und dann 'Start()' auf (wenn Sie die Logik "get value once" ausführen müssen, dann setzen Sie 'timeSet' zurück). Die Logik und das Problem sind nicht sehr klar erklärt (z.B. was ist "Timer3" plötzlich?). – Sinatr
@Sinatr hat die Nummer in ein paar Tests geändert, vergessen, sie wieder auf den ursprünglichen Wert zu setzen, sorry D: – MattDAVM