我正在尝试将菜单项添加到附件上下文菜单。问题是该项目没有显示。我看过一些例子,他们说这段代码应该可以工作:
this.Application.AttachmentContextMenuDisplay += new ApplicationEvents_11_AttachmentContextMenuDisplayEventHandler(ThisAddIn_AttachmentContextMenuDisplay);
private void ThisAddIn_AttachmentContextMenuDisplay(CommandBar commandBar, AttachmentSelection attachments)
{
if (attachments.Count > 0)
{
var cbc = commandBar.Controls.Add(
MsoControlType.msoControlButton,
missing, missing, missing, true);
cbc.Caption = "My custom item";
}
}
事件ThisAddIn_AttachmentContextMenuDisplay
被触发并且附件计数大于零,但不显示菜单项。
奇怪的是如果我打电话commandBar.ShowPopup();
然后菜单项将显示(注意缺少的图标),但是当单击它时,上下文菜单将第二次显示:
不调用commandBar.ShowPopup();上下文菜单看起来像往常一样,但缺少我的自定义项目:
编辑:我正在使用 Visual Studio 2013 和 Outlook 2010
命令栏已被弃用,除了以编程方式运行控件之外,不应再使用(请参阅 ExecuteMso)。您需要使用 Ribbon UI(又名 Fluent UI)。看扩展 Outlook 2010 中的用户界面 https://msdn.microsoft.com/en-us/library/office/ee692172(v=office.14).aspx了解更多信息。
在以下系列文章中阅读有关 Fluent UI 的更多信息:
- 为开发人员自定义 2007 Office Fluent 功能区(第 1 部分,共 3 部分) https://msdn.microsoft.com/en-us/library/aa338202(v=office.12).aspx
- 为开发人员自定义 2007 Office Fluent 功能区(第 2 部分,共 3 部分) https://msdn.microsoft.com/en-us/library/aa338199(v=office.12).aspx
- 为开发人员自定义 2007 Office Fluent 功能区(第 3 部分,共 3 部分) https://msdn.microsoft.com/en-us/library/aa722523(v=office.12).aspx
如果您需要根据上下文隐藏或显示某些控件,您可以处理功能区回调,您可以在其中决定是否应向用户显示控件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)