在另一个进程运行时启用按钮单击
本文关键字:按钮 单击 启用 运行时 另一个 进程 | 更新日期: 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:
BackgroundWorker
- 另一个线程
- 另一项任务
- 使用async/await
- 反应式扩展
有几种方法可以通知您所有进程都已终止!这取决于你使用哪种方法。
使用async
函数。我发现这些有用的链接
http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx
http://msdn.microsoft.com/en-us/library/vstudio/hh156513.aspx
这是Windows应用程序吗?如果你觉得自己是老派,并且喜欢解雇其他开发人员,那么在你的死亡循环中加入一个Application.DoEvents()
。
你知道你想。
如果你想做到这一点而不受到所有同龄人的嘲笑,看看这个问题和答案。