winform关于关闭窗口时关闭线程的问题

private void Form_Device_Details_Load(object sender, EventArgs e)
{
Thread displayThread = new Thread(display);
displayThread.Start();
}

//关闭窗口时关闭线程
private void Form_Device_Details_FormClosed(object sender, FormClosedEventArgs e)
{
//线程和关闭窗口事件不在同一个方法,怎么关闭线程,把线程实例化放到外面实例化又会说“非静态的字段、方法或属性“SmartMachines.winform.Form_Device_Details.display()”要求对象引用”
}

分别写自定义的公共关闭方法,然后就可以在其他模块中调用并关闭了。
温馨提示:内容为网友见解,仅供参考
无其他回答

C# WinForm程序中,使用多线程,在关闭窗体时 怎么关闭窗体的所有线程。使...
程序退出的方法:this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;Application.ExitThread(); 强制中止调用线程上的...

winform form窗体关闭后那窗体中正在启动的线程,及变量等是否会一起...
不会!!窗体关闭,后线程会继续执行,直到完成!!如果你的里面有死循环,那么也就不会退出,直到出错为止!!

C# WinForm 关闭之后还有进程在后台运行,如何实现彻底关闭
1、找到后台的运行线程,用BOOL变量控制;2、Environment.Exit(Environment.ExitCode); 用这个试试

关于winform的,窗体关闭了,还会不会向下面执行。
不会。线程都还没启动,如果你是先启动的线程,而且线程还没有执行完毕的话,this.close()以这种方式关闭窗体线程还是会继续执行的。

WinForm窗口关闭的几种方法
调用程序外部的应用程序时,在关闭程序后,发现进程里面还有在运行。原来是没有完整的退出;下面有几种方法退出。在FormClosing事件中添加即可。1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;2.Application.Exit(); 强制...

C#的WinForm程序子窗口关闭后仍存在进程问题.
答:如果创建了其它线程的话就会出现这样的情况,在Closing事件中你把你创建的线程Abort掉。。。就可以了的

C#的WinForm程序子窗口关闭后仍存在进程问题.
窗体全是主线程创建的,仍存在应该是你资源没有释放干净。如子窗体中海油线程在跑等等。

C#\/Winform,为什么子窗口自动定时关闭后,主窗口弹出的MessageBox也自动...
所属的messagebox作为一个子窗口也将会被自动关闭。而form则不会有此影响,因为form都是顶级窗口,它没有owner,所以不会互相影响。要避免此问题,可以在Show消息框的时候指定一个owner,比如 MessageBox.Show(this ,"test message"),你就会看到这个消息框不会随着Form2的关闭而关闭了。

C#中WinForm程序退出方法技巧总结
this.Close()仅关闭当前窗口,若非主窗体或存在托管线程,则无法实现程序干净退出;Application.Exit()强制关闭所有窗体,面对托管线程,同样难以正确退出;Application.ExitThread()可强制中止调用线程上的所有消息,但其他线程退出问题依然存在;System.Environment.Exit(0)则是最彻底的退出方式,无论何种线程,...

c#winform如何强制结束辅助线程没有执行完的代码,就算线程在休眠状态...
将辅助线程的IsBackground属性设置为true \/\/ 启动线程时Thread t = new Thread(MyThread);\/\/ 明确指示此线程为后台线程t.IsBackground = true;t.Start( );\/\/强制结束线程try{ t.About(); t.Join();} catch{ } 另外:如果窗体退出,不需要显式地结束后台线程;窗体退出时负责自动清理...

相似回答