c# winform 点击暂停按钮,暂停当前程式,点击继续后,会继续运行程式

如题所述

想实现这个,你必须使用多线程,而且你的处理必须都放到单独的子线程中,主线程只用于响应那个按钮,否则你暂停之后程序就死了。
另外,楼上的方法MSDN提示已经过时,不建议使用,可能造成一些系统的不稳定。使用System.Threading.Thread.Sleep可以挂起当前进程一段时间,你可以通过全局变量判断进程是否需要被挂起,来动态调用此方法。追问

可以给段代码参考吗?这样说我不怎么能够体会,非常感谢

追答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-09
线程有如下方法(你应该够用):
Suspend:暂停线程
Resume:恢复线程追问

请问:我得如何调用啊

追答

Thread t;//全局变量

暂停click事件:
t.Suspend();
恢复click事件:
t.Resume();

追问

提示过时了

追答

如果为了你的程序稳定性考虑,这样做肯定是不行的。

解决办法是:
如果你的线程中是一个主循环,那就定义一个public变量来监视,是否暂停程序。代码如下:
public bool IsPause = false;
while(true)
{
if(!IsPause){Thread.sleep(1000); continue;}
主循环
}

暂停事件:
xxx.IsPause = true;

如果你的线程只是一个单步程序:那个人觉得暂停就没有意义了,直接关闭线程得了。

第2个回答  2013-09-09
程式?什么程式,说清楚,暂停当前线程?追问

是的,暂停当前线程

追答

楼上已经说出来了

相似回答