问题描述
我的子窗體裡有一個threed,當我用this.close()退出子窗體後,再打開這個子窗體,再運行時就出錯但是用APPLICATION.EXIT()卻是將整個程序給退出了(連同主窗體一起退出),有什麼辦法可以讓我退出子窗體時,可以將哪個THREED退出,再次運行時可以動,並不退出主窗體
解决方案
解决方案二:
在子窗体的Form_Closing事件里把thread停掉
解决方案三:
退出窗口时结束线程。
解决方案四:
使用Thread.Join()如果需要的话Thread.Abort()停止正在运行的线程.
解决方案五:
关闭窗体时发生的事情里面停止线程protectedoverridevoidOnClosing(CancelEventArgse){Thread.Abort()base.OnClosing(e);}
解决方案六:
我在子程序的from_closing裡面用了:Thread.abort();thread.join();但是我在主窗體裡再運行這個子窗體程序時,就報錯了....
解决方案七:
是不是一定要APPLICATION.EXIT()才行啊,但是這樣主窗體也退出了啊
解决方案八:
可以试试Application.ExitThread()Exitsthemessagelooponthecurrentthreadandclosesallwindowsonthethread.
解决方案九:
APPLICATION.EXITTHREAD()直接將程序關掉了,包括主窗體
解决方案十:
在子线程调用方法结束时,用子线程调用...看看可以不
解决方案十一:
thread在顶部定义privateSystem.Threading.Threadthread;然后别的函数调用,最后,退出时加上这行代码就行了。if(thread!=null&&thread.ThreadState==System.Threading.ThreadState.Running){try{thread.Abort();}catch{}}
解决方案十二:
貌似在子线程中启动的线程是子子线程,就会随父线程关掉了,所以无法暂停。可能是需要将其提到再上一层线程里面去。愚见,不知对否。
解决方案十三:
this.Dispose();