我看起来有点谷歌,但无法让它发挥作用。
按下按钮时,我完成了一些过程。
我想添加一个“全部杀死”按钮,以便在按下时终止每一个按钮,但是当我开始一个过程时,我不能按任何其他按钮直到它的完成。
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);
}
答案 0 :(得分:2)
你必须运行你的" Kill All"异步方法中的方法。运行长进程时,主线程始终被阻塞。
有关您的问题的更多信息: WinForm Application UI Hangs during Long-Running Operation
只需使用以下方法之一 - 运行Kill All in:
BackgroundWorker
有几种方法可以通知您所有进程都已终止!这取决于您使用的方法。
答案 1 :(得分:0)
使用async
个功能。我找到了这些有用的链接
http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx
http://msdn.microsoft.com/en-us/library/vstudio/hh156513.aspx
答案 2 :(得分:0)
这是一个Windows应用程序吗?如果你感觉老了,喜欢和其他开发人员打交道,可以在你的死亡循环中坚持Application.DoEvents()
。
你知道你想要。
如果你想在没有收到所有同伴的蔑视的情况下这样做,请参阅this question and answer。