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

前もって感謝します

4

1 に答える 1

1

btnStartAdventure_Clickプログラムでイベント ハンドラーを起動するには、次のように呼び出します。

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

backgroundWorker_RunWorkerCompletedそのコードをイベントの最後に置くだけです。

詳細については、この記事を参照してください。

于 2012-09-30T15:08:26.993 に答える