Can I call MessageBox.Show
on a child thread without worrying about a cross-thread exception? I know the ostensible answer would be \"try it and find out\", wh
No, it will not cause any "cross-thread" exceptions. That's because the MessageBox is not a member of a class running on the UI thread.
You are safe to throw a MessageBox in a separate thread. But keep in mind that it will only block the thread that it was created on. If you are using a WinForm app and another thread calls the MessageBox then the form is still able to be played around with and the user can ignore it.
If you call MessageBox.Show("text")
without an owner window you are save.
If you call MessageBox.Show
like MessageBox.Show(this,"text")
specifying the owner window things are different.
I have seen that in Windows XP you are save but in Windows 7 you will run into a cross-thread exception if the owner window is running in a different thread than the thread from which you call the MessageBox
!