我为Outlook 2003创建了C#加载项。加载项以新邮件形式创建命令栏。此命令栏包含一个用于打开“分类”对话框的按钮。
要打开对话框,我使用MailItem Interface的ShowCategoriesDialog方法。
Microsoft.Office.Interop.Outlook.MailItem item = (MailItem)inspector.CurrentItem;
item.ShowCategoriesDialog();
它工作正常,但在几个机器中,分类窗口在新邮件窗口后面打开。
你知道怎么解决吗?
非常感谢,
Andriy Kozachuk
答案 0 :(得分:0)
我可以通过两种方式随意思考。
1)尝试最小化和恢复Inspector的一些组合,你有一个引用(Inspector.WindowState),可能是min,restore,showcat或min / showcat / restore 不是一个很好的解决方案,因为它会导致一些闪烁。 2)如果你是在导致检查员出现的事件中这样做的话,你可能没有让检查完全实现。在这种情况下,使用计时器或后台线程来延迟显示cat窗口(虽然这有点hackish)。 3)使用Windows API EnumWindows查找“类别”窗口,并使用SetWindowPos将其恢复到zorder的顶部。 (可能是更好的解决方案)。
我在很多情况下都遇到过Outlook的这类问题,尽管不是这个特定的例子。