如何在c中执行进程时禁用其他按钮

本文关键字:其他 按钮 进程 执行 | 更新日期: 2023-09-27 18:00:17

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

如何在c中执行进程时禁用其他按钮

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

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

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

void backgroundWorker_RunWorkerCompleted(object s, RunWorkerCompletedEventArgs e)
{
    EnableButtons(); // runs on UI thread
}