私は奇妙な状況にあります。イベント
をご覧ください:backgroundWorker5_RunWorkerCompleted
private void backgroundWorker5_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
btnStartAdventures.Text = "Start Adventure";
btnStartAdventures.Enabled = true;
if (e.Error != null)
{
MessageBox.Show(e.Error.Message);
return;
}
if (e.Cancelled)
{
lblStatusValueInAdventures.Text = "Cancelled...";
}
else
{
lblStatusValueInAdventures.Text = "Completed";
timer1.Enabled = true;
timer1.Start();
// MessageBox.Show("start timer");
Thread.Sleep((int.Parse(txtDelayInAdventures.Text)) * 60000);
//MessageBox.Show("end timer");
timer1.Enabled = false;
timer1.Stop();
lblTimer.Text = "0";
btnStartAdventures.PerformClick();
}
}
そしてそのタイマーは:
private void timer1_Tick(object sender, EventArgs e)
{
this.Invoke(new MethodInvoker(delegate { lblTimer.Text = (int.Parse(lblTimer.Text) + 1).ToString(); }));
}
ただし、このタイマーは変更できませんlblTimer's Text
。
この問題を解決するにはどうすればよいですか?
編集:
そのThread.Sleepが必要であり、私はそれを削除することはできません。
私は決して終わらないループが欲しいです、そしてそれらのコードはそのためのものです。
前もって感謝します