在Outlook VSTO中的其他(已打开的)自定义任务窗格上显示自定义任务窗格

本文关键字:任务 自定义 显示 VSTO Outlook 其他 | 更新日期: 2023-09-27 18:20:30

我有两个自定义任务窗格,如下所示,

  1. 自定义任务窗格一:CTP_1
  2. 自定义任务窗格二:CTP_2

当我点击(CTP_1的)按钮时,点击事件应该会在Outlook AddIn 2010中打开CTP_2而不是CTP_1。

如何做到这一点?

在Outlook VSTO中的其他(已打开的)自定义任务窗格上显示自定义任务窗格

你能澄清一下你所说的是什么意思吗

在CTP_1 上打开CTP_2

如果您的意思是在Outlook中的另一个任务窗格窗口的顶部打开一个停靠的任务窗格窗口;你不能。

如果1或两者都是浮动任务窗格窗口,则可以执行此操作。但是,当移动和/或调整Outlook Explorer/Expector窗口的大小时,您将无法将它们保持在适当的位置。所以我不推荐这个主意。

如果你想在点击按钮时用CTP_2代替CTP_1,你可以:

  • 单击按钮时隐藏CTP_1,然后显示CTP_2
  • 或者,如果您想在隐藏自定义任务并显示另一个任务时阻止它闪烁,请创建另一个同时包含CTP_1和CTP_2的用户控件,并在单击按钮时相应地设置它们的"可见性"

可以使用ThisAddin.CustomTaskPanes属性获取对添加的自定义任务窗格的引用。

或者,通过将(每个CustomTaskPane的)CustomTaskPane.DockPosition属性设置为相同的值,可以将它们并排停靠。即

CTP_1.DockPosition = MsoCTPDockPosition.msoCTPDockPositionRight;
CTP_2.DockPosition = MsoCTPDockPosition.msoCTPDockPositionRight;