【问题标题】:Error Loading Report "Dispacher processing has been suspended"错误加载报告“调度程序处理已暂停”
【发布时间】:2015-10-21 18:26:44
【问题描述】:

尝试打开报告时出现上述错误。

private void btnLoadCustRemitt_Click(object sender, RoutedEventArgs e)
{
    try
    {

        CustomerRemittReportWin cusRemRep = new CustomerRemittReportWin();
        cusRemRep.Show();
    }
    catch (Exception ex)
    { this.MyErrorMessage(ex);

    MessageBox.Show("This Part Executed");
    }

}

在加载时按下此消息,然后我的消息显示为确保我确实输入了我在正确代码上的 messageBox。

在 VS 2012 上它工作得非常好。但是现在当我迁移到 VS 2013、Windows 10 时,我遇到了这个问题??

=-=-=-=--=-=

已经发布了一个简单的问题,但我不确定如何使用该解决方案解决我的问题..

https://stackoverflow.com/questions/23452864/wpf-dispatcher-processing-has-been-suspended-but-messages-are-still-being-pro#=

【问题讨论】:

  • 如果你使用 ShowDialog 而不是 Show,你会得到同样的错误吗?

标签: c# wpf


【解决方案1】:

卸载 VS 2013 并尝试重新安装 VS 2013 不同版本但同样的问题..

所以我终于再次卸载了VS 2013,并安装了实际构建该软件的VS2012。

神奇的是,现在 VS 2012 中没有错误,即使你使用的是 Windows 10 预览版..

我不知道微软新版本的 Visual Studios 不支持旧的 Visual Studio 开发程序是怎么回事.. :(

【讨论】:

    【解决方案2】:

    我认为您可能需要将 UI 相关代码包装在 Dispatcher.BeginInvoke 调用中,以便在 Dispatcher 恢复处理时推迟 UI 操作。

    private void btnLoadCustRemitt_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            Dispatcher.BeginInvoke(new Action(() => 
            {
                CustomerRemittReportWin cusRemRep = new CustomerRemittReportWin();
                cusRemRep.Show();
            };
        }
        catch (Exception ex)
        { this.MyErrorMessage(ex);
    
        MessageBox.Show("This Part Executed");
        }
    }
    

    我还没有测试过这个...

    【讨论】:

      猜你喜欢
      • 2011-12-18
      • 2014-06-20
      • 2018-03-26
      • 2016-05-12
      • 1970-01-01
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多