2011-03-30 62 views
0


我为Outlook 2003创建了C#加载项。加载宏以新邮件格式创建命令栏。该命令栏包含一个打开“分类”对话框的按钮。 要打开对话框,我使用MailItem接口的ShowCategoriesDialog方法。Outlook 2003 vsto加载项分类对话框在新邮件窗口后打开

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

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

你知道如何解决它吗?

非常感谢你,
舍甫琴科Kozachuk

我能想到的副手

回答

0

两种方式。

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

我在很多场合都遇到过这种Outlook问题,虽然不是这个特定的实例。

+0

我正在从点击按钮时触发的事件执行此操作。我试过计时器,最小化/恢复 - 没有帮助。分类窗口是模态的,在打开时我无法做任何事情,所以我不能使用第3种方式。我们已经尝试重新安装Outlook,它有所帮助 - 没有任何问题了。 – 2011-04-05 08:43:39

相关问题