-1

我使用后台工作程序运行了一个耗时的过程,并且在执行上述过程时我禁用了所有其他按钮。但是当我尝试禁用其他按钮时,我得到跨线程异常无效错误。我该如何解决这个问题?

4

1 回答 1

1

在启动后台工作程序之前禁用您的按钮。

DisableButton(); // runs on UI thread
backgroundWorker.RunWorkerAsync();

然后使用RunWorkerCompleted事件处理程序来启用按钮:

void backgroundWorker_RunWorkerCompleted(object s, RunWorkerCompletedEventArgs e)
{
    EnableButtons(); // runs on UI thread
}
于 2013-02-19T11:45:24.750 回答