InvalidOperationException 将消息框放在任何项目的任何用户控件中的任何位置
本文关键字:任何 用户 控件 位置 项目 InvalidOperationException 消息 | 更新日期: 2023-09-27 18:32:12
我开始在VS2012 Ultimate中得到一个InvalidOperationException
:
"调度程序处理已暂停,但邮件仍在处理中。"
。每当我在UserControl
代码隐藏中的任何位置调用MessagBox
时。这目前似乎会影响我计算机上的每个项目,包括我下载的项目和一个除了 UserControl 本身之外没有实际代码的新项目。然而,这似乎只影响UserControl
;标准类和Windows的代码隐藏工作正常。
系统。无效操作发生异常
HResult=-2146233079
消息=调度程序处理已暂停,但消息仍在处理中。
Source=WindowsBase
堆栈跟踪: at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
内部异常:
InnerException是空白的,因为根据VS,它是空的。这个问题对任何人都有意义吗?在谷歌搜索之后,我发现了一些抛出此异常的实例,但这些情况都不是这样的。我希望这里的某个人可能对可能导致这种情况的原因有所了解,并且在我求助于重新安装 VS 并希望
最好的之前,可能会帮助我。关于如何解决此问题的任何想法将不胜感激。
根据Mark Hall的要求:像这样简单的类将导致异常:
public partial class TestView : UserControl
{
public TestView()
{
InitializeComponent();
System.Windows.MessageBox.Show("Test");
}
}
Hans Passant 是对的,你真的不应该尝试在构造函数期间显示消息框。 构造函数不仅在运行时调用,而且在设计时调用。
如果您将其用于调试目的,请尝试写入日志文件或 Console.WriteLine(...)。