0

有一个如下所示的按钮:

   private void btnStartAdventure_Click(object sender, EventArgs e)
    {
        if (backgroundWorker5.IsBusy)
        {
            btnStartAdventures.Enabled = false;
            lblStatusValueInAdventures.Text = "Canceling...";
            backgroundWorker5.CancelAsync();
        }
        else
        {
            txtLogInAdventures.Text = string.Empty;
            btnStartAdventures.Text = "Cancel";
            lblUsersDoneCountValueInAdventures.Text = "---";
            lblStatusValueInAdventures.Text = "Running...";


            backgroundWorker5.RunWorkerAsync();
        }
    }

我想在工作btnStartAdventure_Click后再次打电话给活动backgroundWorker_RunWorkerCompleted
所以会有一个永远不会结束的循环。
我放:

Thread.Sleep(3600000);

在结束时backgroundWorker_RunWorkerCompleted()
现在我应该使用什么代码btnStartAdventure_Click再次调用?
Timer 是否适合我的目的?
我怎样才能通过做这项工作来防止挂起和崩溃?

提前致谢

4

1 回答 1

1

要以编程方式触发btnStartAdventure_Click事件处理程序,您可以调用

// Call the Click event of btnStartAdventure.
btnStartAdventure.PerformClick();

只需将该代码放在backgroundWorker_RunWorkerCompleted事件的末尾即可。

有关更多信息,请参阅本文

于 2012-09-30T15:08:26.993 回答