In general, C # 's MessageBox.Show ("haha") is blocked by the current thread. We often use it to set up some judgment checkpoints.
Not all cases, however, can play a role in blocking the current thread.
For example, when WPF sets a splash screen transition splashscreen, you use MessageBox in the main form's construction method to not block the current thread.
I also have a smattering of reasons, I hope to understand the master can be written in the comments, help me to dispel doubts.
The code makes the following modifications, MessageBox can block the thread again:
if (!check ())
{
This. Cursor = Cursors.arrow;
System.Threading.Thread t = new System.Threading.Thread (() =>
{
MessageBox.Show ("Failed to load.") ");
});
T.setapartmentstate (System.Threading.ApartmentState.STA);/Set a single thread
T.start ();
Application.Current.Shutdown ();
}