我使用后台工作程序运行一个耗时的过程,并且在上述过程正在执行时我已禁用所有其他按钮。但是当我尝试禁用其他按钮时,我得到跨线程异常无效错误。我怎么解决这个问题?
答案 0 :(得分:1)
在启动后台工作程序之前禁用您的按钮。
DisableButton(); // runs on UI thread
backgroundWorker.RunWorkerAsync();
然后使用RunWorkerCompleted事件处理程序启用按钮:
void backgroundWorker_RunWorkerCompleted(object s, RunWorkerCompletedEventArgs e)
{
EnableButtons(); // runs on UI thread
}