【问题标题】:Access Custom outlook 2013 ribbon at runtime using c#使用 c# 在运行时访问自定义 Outlook 2013 功能区
【发布时间】:2015-01-09 22:38:03
【问题描述】:

我为 Outlook 2013 创建了 2 个不同的加载项。

在第一个加载项中,我有自定义功能区和自定义任务窗格。

在第二个加载项中,我有自定义功能区,单击该功能区我想隐藏第一个加载项。

所以我尝试隐藏自定义任务窗格并且它起作用了。

foreach (Microsoft.Office.Tools.CustomTaskPane mtPane in Globals.ThisAddIn.CustomTaskPanes.ToList())
  {
   if (mtPane.Title == "CustomTaskPane")
    {
      mtPane.Visible = false;
    }
  }

但我不确定如何在运行时在另一个加载项中隐藏或访问自定义功能区?

【问题讨论】:

    标签: c# outlook outlook-2013


    【解决方案1】:

    您无法访问属于其他加载项的自定义功能区 UI。相反,您可以在需要访问的加载项中定义公共属性或方法。因此,您将通过插件上定义的公共属性和方法来管理其自定义 UI。请参阅Walkthrough: Calling Code in an Application-Level Add-in from VBA 了解更多信息。

    【讨论】:

    • 好的。现在,如果我更新了我的解决方案。我在上下文菜单功能区中创建了两个按钮。单击一个按钮时,要禁用其他按钮。那么有可能吗?
    • 不,不是。您可以在另一个插件中调用公共方法,该插件创建了您需要禁用的按钮。在该方法中,您可以调用 IRibbonUI 接口的 Invalidate 或 InvalidateControl 方法来调用您的回调。
    • 现在自定义功能区 ui 中的两个按钮属于同一个插件。还是不行?
    • 好吧,如果两个按钮都来自单个加载项,您可以使用回调在运行时更改状态。
    • 现在一切正常。但是再看一个案例:我必须禁用功能区按钮以及自定义任务窗格。所以在 myRibbon.Invalidate(); 之后方法,我将自定义任务窗格可见性设置为 false。它正在工作。但是如果我切换我的按钮,那么在每次切换时 - 它都会触发我的另一个按钮事件
    猜你喜欢
    • 2012-05-07
    • 1970-01-01
    • 2013-07-13
    • 2012-09-10
    • 2013-05-07
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多