【发布时间】:2011-11-12 12:22:45
【问题描述】:
当您在 Outlook 中右键单击电子邮件时,我们会设置一个自定义上下文菜单,如下所示:
private void _application_ItemContextMenuDisplay(Office.CommandBar CommandBar, Interop.Selection Selection)
{
var contextButton = (Office.CommandBarButton)CommandBar.Controls.Add(Office.MsoControlType.msoControlButton, Temporary: true);
contextButton.Visible = true;
contextButton.Caption = "&My Context Menu";
contextButton.Click += MyContextMenu_Click;
}
此方法订阅Application.ItemContextMenuDisplay。
它工作正常,只是偶尔我们的事件会被多次触发。当您快速右键单击不同的电子邮件时会发生这种情况。
然后我想知道,什么时候是清理我的临时上下文菜单项的好地方?我需要在某处取消订阅 C# 事件。这样做的预期地点在哪里? (我也认为我们可能需要致电Marshal.ReleaseComObject)
我们在 Visual Studio 中使用 VSTO 和 Outlook 2010 项目模板。一般来说,我没有找到很多自定义上下文菜单的好例子。
【问题讨论】:
标签: c# .net vsto outlook-addin