【问题标题】:VSTO customise outlook folder context menuVSTO 自定义 Outlook 文件夹上下文菜单
【发布时间】:2017-08-11 22:15:00
【问题描述】:

我基本上希望这样做: C# (outlook add-in) context menu on folders

但问题是它永远不会触发 FolderContextMenuDisplay 事件。 查看文档似乎已弃用,但有人知道我应该改用什么吗?

谢谢!

【问题讨论】:

    标签: c# outlook vsto


    【解决方案1】:

    通过使用 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 使命令可见。

    【讨论】:

    • 你好 NAJ 如果这有用,请标记评论。
    猜你喜欢
    • 2010-10-27
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    相关资源
    最近更新 更多