gpt4 book ai didi

c# - 在 C#/WPF 中从线程显示 MessageBox,就像它来自主线程一样

转载 作者:太空狗 更新时间:2023-10-30 00:14:51 26 4
gpt4 key购买 nike

有一个线程可以抛出异常,当它被捕获时,显示一个特定的消息框,然后软件关闭。

但是,问题是因为它不是程序的主线程,所以当我显示消息框时,程序窗口仍然可供用户进行交互。它不会锁定屏幕,这与消息框显示在主窗口上方时不同。我想避免这种情况。

我想知道执行此操作的最佳方法是什么。到目前为止,我想到了使用某种线程通信(从未在 C# 中使用过)从主线程引发消息框。

提高线程:

Thread thread = new Thread(new ThreadStart(MyClass.MyMethod));
thread.IsBackground = true;
thread.Start();

异常的捕获在MyMethod的各个部分。它是一个从程序开始就一直在循环中不停运行的线程。异常的原因可能是网络错误。

最佳答案

您可能只需在 Dispatcher 上调用它:

Application.Current.Dispatcher.Invoke(() => MessageBox.Show(...));

关于c# - 在 C#/WPF 中从线程显示 MessageBox,就像它来自主线程一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19936652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com