4

我已经开始InvalidOperationException在 VS2012 Ultimate 中得到一个说法:

“调度程序处理已暂停,但消息仍在处理中。”

...每当我MessagBox在 aUserControl的代码隐藏中调用 a 时。这目前似乎影响了我计算机上的每个项目,包括我下载的项目和一个新项目,除了 UserControl 本身之外没有任何实际代码。然而,这似乎只影响UserControls;标准类和 Windows 的代码隐藏工作正常。


System.InvalidOperationException 发生

H结果=-2146233079

Message=Dispatcher 处理已暂停,但仍在处理消息。

源=WindowsBase

StackTrace:在 System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd,Int32 msg,IntPtr wParam,IntPtr lParam,Boolean& 处理)

内部异常:


InnerException 是空白的,因为根据 VS,它是空的。这个问题对任何人都有意义吗?在谷歌搜索之后,我发现了一些引发此异常的情况,但这些情况都不是这样的。我希望这里的某个人可能对可能导致这种情况的原因有所了解,并且在我求助于重新安装 VS 并希望获得最好的结果之前可能能够帮助我。

任何关于如何解决这个问题的想法都将不胜感激。


根据 Mark Hall 的要求:像这样简单的类将导致异常:

public partial class TestView : UserControl
{
    public TestView()
    {
        InitializeComponent();

        System.Windows.MessageBox.Show("Test");
    }
}
4

1 回答 1

1

Hans Passant 是对的,您真的不应该尝试在构造函数期间显示消息框。构造函数不仅在运行时被调用,而且在设计时也被调用。

如果您将其用于调试目的,请尝试写入日志文件或 Console.WriteLine(...)。

于 2014-10-30T14:22:43.603 回答