Can MessageBox.Show cause cross-thread exceptions?

前端 未结 3 1881
独厮守ぢ
独厮守ぢ 2021-01-06 03:46

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

相关标签:
3条回答
  • 2021-01-06 04:25

    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.

    0 讨论(0)
  • 2021-01-06 04:36

    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.

    0 讨论(0)
  • 2021-01-06 04:39

    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!

    0 讨论(0)
提交回复
热议问题