加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将Messagebox放在任何项目的任何UserControl中的任何位置

发布时间:2020-12-15 21:56:30 所属栏目:百科 来源:网络整理
导读:我已经开始在VS2012 Ultimate中获得InvalidOperationException了: “调度程序处理已暂停,但邮件仍在处理中.” …每当我在UserControl的代码隐藏中的任何地方调用MessagBox时.这当前似乎会影响我的计算机上的每个项目,包括我下载的项目以及除UserControl本身
我已经开始在VS2012 Ultimate中获得InvalidOperationException了:

“调度程序处理已暂停,但邮件仍在处理中.”

…每当我在UserControl的代码隐藏中的任何地方调用MessagBox时.这当前似乎会影响我的计算机上的每个项目,包括我下载的项目以及除UserControl本身之外没有真正代码的新项目.但这似乎只影响UserControls;标准类和Windows的代码隐藏工作正常.

发生System.InvalidOperationException

的HResult = -2146233079

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

来源= WindowsBase

堆栈跟踪:
???????在System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd,Int32 msg,IntPtr wParam,IntPtr lParam,Boolean& handling)

的InnerException:

InnerException是空白的,因为根据VS,它是null.这个问题对任何人都有意义吗?在Google搜索之后,我发现了一些抛出此异常的实例,但这些情况都不是这样的.我希望这里的某些人可能对可能导致这种情况的一些知识有所了解,并且可能能够在我尝试重新安装VS并希望获得最佳效果之前帮助我.

任何关于如何解决这个问题的想法都将非常感激.

Per Mark Hall的要求:像这样简单的类会导致异常:

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

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

解决方法

Hans Passant是对的,你真的不应该尝试在构造函数中显示一个消息框.构造函数不仅在运行时被调用,而且在设计时也被调用.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读