在另一个进程运行时启用按钮单击

本文关键字:按钮 单击 启用 运行时 另一个 进程 | 更新日期: 2023-09-27 18:29:13

我浏览了一下谷歌,但无法使其工作。

当我按下一个按钮时,我已经完成了一些过程。

我想添加一个"杀死所有人"按钮,在按下时终止所有操作,但当我开始一个过程时,我不能按下任何其他按钮,直到它完成。

private void button_checkZero_phones_Click(object sender, EventArgs e)
    {
        Thread thread = new Thread(new ThreadStart(WorkThreadFunction));
        thread.Start();
    }
private void button_kill_all_Click(object sender, EventArgs e)
    {
        System.Environment.Exit(1);
    }

在另一个进程运行时启用按钮单击

您必须在异步方法中运行"Kill All"方法。运行长进程时,主线程总是被阻塞。

有关您的问题的详细信息:WinForm应用程序UI在长时间运行期间挂起

只需使用以下方法之一-运行Kill All in:

  1. BackgroundWorker
  2. 另一个线程
  3. 另一项任务
  4. 使用async/await
  5. 反应式扩展

有几种方法可以通知您所有进程都已终止!这取决于你使用哪种方法。

使用async函数。我发现这些有用的链接

http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx

http://msdn.microsoft.com/en-us/library/vstudio/hh156513.aspx

这是Windows应用程序吗?如果你觉得自己是老派,并且喜欢解雇其他开发人员,那么在你的死亡循环中加入一个Application.DoEvents()

你知道你想。

如果你想做到这一点而不受到所有同龄人的嘲笑,看看这个问题和答案。