在多线程中,一个线程结束时需要显示一些结果信息给用户,我采用新的窗体来显示。但简单的在线程体里面如下写
生成的窗体一闪就没了。这是因为在线程中建的窗体,所有的资源都是属于这个线程的,所以当这个线程结束后,它的资源也被回收了,当然C#也就自动把窗体给关闭了。
正确的方法是用Invoke调用,代码如下:
本文介绍如何在多线程环境下正确地显示窗体,避免因线程结束而导致窗体立即消失的问题。通过使用Invoke调用,可以确保窗体在主线程中显示并保持可见。
在多线程中,一个线程结束时需要显示一些结果信息给用户,我采用新的窗体来显示。但简单的在线程体里面如下写
生成的窗体一闪就没了。这是因为在线程中建的窗体,所有的资源都是属于这个线程的,所以当这个线程结束后,它的资源也被回收了,当然C#也就自动把窗体给关闭了。
正确的方法是用Invoke调用,代码如下:
5310
589
1596

被折叠的 条评论
为什么被折叠?
