从窗口中删除CustomTaskPane

时间:2017-04-14 10:16:11

标签: c# outlook-addin customtaskpane

对于外观的插件,使用以下代码将新的自定义任务窗格添加到特定窗口:

historyPane = new HistoryPane(taskId);
customTaskPane = Globals.ThisAddIn.CustomTaskPanes.Add(historyPane, title, new Microsoft.Office.Interop.Outlook.Application().ActiveWindow());

现在我希望能够为特定窗口再次关闭此customTaskpane,我搜索得很远,遗憾的是没有任何成功。
我无法在活动窗口中找到任务窗格。我已经尝试为窗口寻找一些独特的ID或链接到字典的东西并以这种方式关闭它,也没有任何运气。
有人能够帮助我或指出我的方向吗?

1 个答案:

答案 0 :(得分:0)

您可以使用Remove课程的RemoveAtCustomTaskPanes方法。

public void RemoveTaskPaneWithTitle()
{
    for (int i = this.CustomTaskPanes.Count; i > 0; i--)
    {
        ctp = this.CustomTaskPanes[i - 1];
        if (ctp.Title == "Your title")
        {
             this.CustomTaskPanes.RemoveAt(i - 1);
        }
     }
  }

您也可以考虑使用Visible属性隐藏窗格。

Managing Task Panes in Multiple Word and InfoPath Documents文章中详细了解可能的选项。