【问题标题】:empty form appears to hang when loading [closed]加载时空表单似乎挂起[关闭]
【发布时间】:2011-12-05 10:52:24
【问题描述】:

对此的任何帮助将不胜感激。

我有一个 C# 中的 Windows 窗体项目。当按下按钮时,这会通过互操作打开一封新的 Outlook 电子邮件。当电子邮件已发送并添加到已发送项目文件夹时,Windows 窗体项目将打开一个当前包含单个面板的单个表单。

我的问题是一切似乎运行良好,我使用编组切断与 Outlook 的互操作实例的链接所有其他方法似乎在 Windows 窗体项目中正常运行,但打开的表单(称为缩放)只显示纺车等待符号。

当我中断代码以查看它在做什么时,它似乎什么也没做。这让我发疯了。任何人都可以提出为什么在互操作设施完成其工作并且显然已被处置后启动的表单(缩放)似乎挂起。

在我看来,它确实以某种方式连接到了 Interop 实例,但我不知道如何。

【问题讨论】:

  • 请发布代码 sn-ps 以打开您的表单并与 Outlook 表单交互。

标签: c# .net winforms interop


【解决方案1】:

我记得应该处置互操作对象。

试试this

【讨论】:

  • 感谢您回复我。我正在进行编组,但它仍然挂起,其他一切正常,只需加载这个表单,基本上是互操作后的任何表单。
  • 尝试在代码中放置断点,看看它在你的应用程序中究竟挂在哪里,没有代码我不能说更多......
  • 我已经设置了断点,所有代码似乎都在不停地运行。表单的实际用法是一个带有一个面板的空表单,该面板将在表单启动时加载一个用户控件。我已禁用此代码以防导致挂起,但事实并非如此。我在使用后编组 Outlook.Application、Outlook.Namespace 和 Outlook.MailItem 对象,然后将其设置为 null 以获得良好的衡量标准。表单(不使用互操作)加载但无法保持焦点,当鼠标经过它时,只会显示旋转的等待轮。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
  • 1970-01-01
  • 1970-01-01
  • 2015-06-19
  • 2021-06-02
  • 2012-08-08
  • 1970-01-01
相关资源
最近更新 更多