我可以在子线程上调用MessageBox.Show
而不必担心跨线程异常吗?我知道表面上的答案是“试一试”,我已经成功地尝试了,但我注意到Windows 7似乎比Windows XP更不严格地引发跨线程异常。
那么,有没有文档说明从子线程这样做是安全的?
我可以在子线程上调用MessageBox.Show
而不必担心跨线程异常吗?我知道表面上的答案是“试一试”,我已经成功地尝试了,但我注意到Windows 7似乎比Windows XP更不严格地引发跨线程异常。
那么,有没有文档说明从子线程这样做是安全的?
MessageBox.Show("text")
而没有指定拥有者窗口,那么是安全的。
如果你像这样调用MessageBox.Show(this,"text")
并指定了拥有者窗口,情况就不同了。MessageBox
的线程不同的线程中,你将遇到跨线程异常!在单独的线程中抛出MessageBox是安全的,但请记住它只会阻塞创建它的线程。如果您正在使用WinForm应用程序并且另一个线程调用了MessageBox,则该窗体仍然可以被操作,并且用户可以忽略它。