有一个线程可以抛出异常,当它被捕获时,会显示一个特定的消息框,然后软件关闭。
但是,问题在于,由于它不是程序的主线程,所以当我显示消息框时,程序窗口仍然可以自由地供用户交互。与消息框显示在主窗口上方不同,它不会锁定屏幕。我想避免这种情况。
我想知道最好的方法是什么。到目前为止,我一直在考虑使用某种线程通信(在 C# 中从未使用过)来从主线程中引发消息框。
提高线程:
Thread thread = new Thread(new ThreadStart(MyClass.MyMethod));
thread.IsBackground = true;
thread.Start();
异常的捕获在MyMethod
. 它是一个线程,从程序开始就一直在循环中不停地运行。异常的原因是网络错误。