我创建了一个Outlook加载项,可以在新电子邮件窗口的功能区中添加一个按钮,但这会导致问题。
以下是发生的事情:
我的Outlook外接程序还有许多其他功能,但我已将其固定到我创建的Ribbon.cs文件中,以便在新的电子邮件窗口中添加按钮。当我将OfficeRibbon对象的RibbonType属性从Micorosft.Outlook.Mail.Compose更改为空时,“保存对话框”显示应该显示的内容。当我将其更改回“Compose”时,它会再次隐藏对话框。
有没有人知道这方面的任何方法?我已经确认,当项目是Outlook 2007加载项或Outlook 2010加载项时会发生这种情况。
提前致谢。
答案 0 :(得分:1)
因此,在参考user1217053发送的链接时,答案可能就是......
为Outlook.Mailitem创建一个类范围字段 让它绑定到BeforeClose事件。
在此字段的BeforeClose事件处理程序中,添加代码,例如......
cMailItem_BeforeClose(bool Cancel)
{
var Insp = cMailItem.GetInspector();
Insp.Close();
Marshal.FinalReleaseCOMObject(Insp);
Insp = null;
}
然后希望这将摆脱影子检查员。
答案 1 :(得分:0)
我不知道你是否仍然在研究这个问题,但我遇到了完全相同的问题,然后找到了解决方案。您必须像我一样使用功能区设计器。功能区设计师导致此问题。我不得不从Ribbon设计器更改为Ribbon XML。删除代码并更改某些逻辑是一项小工作,但这解决了问题。我听说另一个是使用包装类。
希望这会有所帮助。