|
|
1
5
我认为问题在于,您正在从自定义线程执行处理程序中的代码,并且
不
UI线程是必需的,因为它操作Windows消息泵。您想使用
请注意,这假设您已经有一个WinForms对象(称为
|
|
|
2
1
我认为,如果你在一个线程上创建一个表单,那么该表单就归该线程所有。创建任何UI元素时,都应该在主(UI)线程上完成。 |
|
|
3
1
这看起来好像你不在表单sta线程上,所以一旦你显示了表单,它就消失了,线程完成了它的工作,它就会自杀,因为没有任何引用线程的东西。这不是最好的解决方案,但如果你需要一个代码示例,你可以使用showdialog()而不是show来完成它——保持状态——我对“加载…”表单使用完全相同的过程
|
|
4
0
是
拼写错误?应该是这个吗?
除了你打算展示的形式,你是否有可能展示另一种形式? |
|
|
5
0
您在非UI线程上创建了一个窗口。当线程中止时,它会带走你的窗口。故事结束了。 在传递委托的主窗体上执行调用,委托将执行在UI线程上创建消息框的方法。 由于MessageBox是一个模态窗口,如果不希望launchForm方法阻塞后台线程,请创建一个具有所需UI的自定义表单,并在其上调用show(),而不是ShowDialog()。 |