0


我为 Outlook 2003 创建了 C# 插件。插件在新邮件表单中创建了一个命令栏。此命令栏包含一个打开分类对话框的按钮。要打开对话框,我使用 MailItem 接口的 ShowCategoriesDialog 方法。

Microsoft.Office.Interop.Outlook.MailItem item = (MailItem)inspector.CurrentItem;
item.ShowCategoriesDialog();

它工作正常,但在几台机器上,分类窗口在新邮件窗口后面打开。

你知道如何解决吗?

非常感谢,
安德烈·科扎丘克

4

1 回答 1

0

有两种方法可以让我临时思考。

1)尝试一些最小化和恢复您引用的检查器(Inspector.WindowState)的组合,可能是min,restore,showcat或min/showcat/restore 不是一个很好的解决方案,因为它会导致一些闪烁。2)如果您在导致检查员显示的事件中执行此操作,您可能没有让检查完全实现。在这种情况下,使用计时器或后台线程来延迟显示猫窗口(虽然这有点骇人听闻)。3) 使用Windows API EnumWindows 找到Categories 窗口,并使用SetWindowPos 将其带回zorder 的顶部。(可能是更好的解决方案)。

我在很多场合都遇到过这种与 Outlook 相关的问题,尽管不是这个特定的实例。

于 2011-03-31T14:59:10.590 回答