请教一个C#线程的问题

我在C#里面创建了一个线程,里面只写了一个MESSAGEBOX.SHOW,运行之后再关闭
发现这个MESSAGEBOX仍然保留在桌面上,请问这是怎么回事呀?我在FORMCLOSING
里面加了关闭线程的语句还是不行
我记得在VC里面像上面这样关闭窗口的话 会连同弹出的MESSAGEBOX一同关闭的

MESSAGEBOX.SHOW不能放在线程里,必须用invoke在主线程调用

winform的线程区别前台线程和后台线程,默认创建的线程是前台线程,当所有的前台线程关闭后,应用程序域才会被卸载,程序才会正真的退出,所以才会出现你这种情况

不知道你的代码的具体情况,可以试试下面的方案:
1、在你的线程声明的时候,将IsBackground这个属性置为TRUE;
2、如果1方法不好使的话,那就在你的主窗口的关闭事件里面用跨线程调用组件的方式,invoke关闭窗口;
3、第三套就是有点绕的方法了,传递关闭事件,当需要关闭的窗口接收到事件之后,执行关闭代码;
4、第四种是大杀器,如果你的主窗口关闭之后,业务逻辑上是整个程序退出的话,那就用Application.Exit();直接天下太平了。。。。。。。。。