程序在进程里不停止 一个C#写的.net程序,点关闭后依然在进程里存在,如何解决?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的程序里开了新线程没有杀死。退出的时候杀死所有的线程即可。---------------------------------------------试一下在关闭时调用System.Windows.Forms.Application.ExitThread(); 如果你的开的线程,应该可以定义线程变量名称,比如为MyThread,在关闭程序前,Closing事件中对线程进程判断:if(MyThread.IsAlive){ MyThread.Abort(); while(MyThread.IsAlive) System.Threading.Thread.Sleep(5);} Vs2005不推荐使用Abort()方法建议使用Join()方法.如何用?myThread.join()表示当myThread线程执行完毕后,退出..最好能设一个标志flag.比如线程回调函数写成这样的形式:while(flag){ //线程里的其他操作}当退出时,先设flag=false;然后myThread.Join();等待退出..... private void 退出_Activate(object sender, EventArgs e) { this.Close(); this.Dispose(); Application.Exit(); }单用this.Close();根本不事关闭,很多刚学.NET的都犯这个错误。 为什么需要这个方法? dataset 内数据转成xml保存,但删除行不能体现,高手有办法吗? 为什么用OpenFileDialog读取的路径无法写入xml文件 读取数据的问题。 嵌入资源文件在xp下正常在vista下找不到的问题 请问USB KEY和SSL是同一个东西吗? 紧急求救-----数据库Read()问题 C#嵌套sql语句出错 orical自动编号列问题? 关于datagrid与textfield数据绑定同步一问 DataGrid控件的增加,删除,修改的问题(是C#中的dataGrid,不是asp.net中的) 求算法:如何实现水波的效果!
退出的时候杀死所有的线程即可。
---------------------------------------------
试一下在关闭时调用
System.Windows.Forms.Application.ExitThread();
if(MyThread.IsAlive)
{
MyThread.Abort();
while(MyThread.IsAlive)
System.Threading.Thread.Sleep(5);
}
比如线程回调函数写成这样的形式:
while(flag)
{
//线程里的其他操作
}
当退出时,先设flag=false;
然后myThread.Join();等待退出.....
{
this.Close();
this.Dispose();
Application.Exit();
}单用this.Close();根本不事关闭,很多刚学.NET的都犯这个错误。