【发布时间】:2017-08-11 22:15:00
【问题描述】:
我基本上希望这样做: C# (outlook add-in) context menu on folders
但问题是它永远不会触发 FolderContextMenuDisplay 事件。 查看文档似乎已弃用,但有人知道我应该改用什么吗?
谢谢!
【问题讨论】:
我基本上希望这样做: C# (outlook add-in) context menu on folders
但问题是它永远不会触发 FolderContextMenuDisplay 事件。 查看文档似乎已弃用,但有人知道我应该改用什么吗?
谢谢!
【问题讨论】:
通过使用 Ribbon XML,您可以设置上下文菜单的可见性。
在这篇文章中,我将向您展示如何使用 Ribbon XML 在上下文菜单中显示和隐藏项目。 当用户右键单击 Outlook 文件夹时会出现上下文菜单。
首先,将功能区 XML 项目添加到您的 Outlook 项目。
然后将以下代码添加到您的 ThisAddIn 类。此示例假定您的 Ribbon 名为 Ribbon1,并且您使用的是 C#:
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
return new Ribbon1();
}
接下来,将 Ribbon1.xml 文件的内容替换为以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
<contextMenus>
<contextMenu idMso="ContextMenuFolder">
<button idMso="FolderPropertiesContext" getVisible="IsVisible" />
</contextMenu>
</contextMenus>
</customUI>
但是等等。还有更多! 在 Ribbon1.cs 文件中创建此方法。
public bool IsVisible(Office.IRibbonControl control)
{
string name = ((Outlook.Folder)control.Context).Name;
if (foldername == "Inbox")
{
return false;
}
return true;
}
当用户右键单击文件夹时,我们会通过返回 false 来告诉 Outlook 不显示该命令。否则,我们告诉 Outlook 继续并通过返回 true 使命令可见。
【讨论】: