我进行了一个小实验,结果CustomTaskPane.Window始终是ActiveWindow。因此,要解决此问题,您可以在一些词典中跟踪大锅菜:
DictionaryctpDict = new Dictionary (); void Application_AfterNewPresentation(PowerPoint.Presentation Pres) { AddIn_control AddIn_control1 = new AddIn_control(); CustomTaskPane AddIn_taskpane = this.CustomTaskPanes.Add(AddIn_control1, "Add-In Taskpane", this.Application.ActiveWindow); ctpDict.Add(AddIn_taskpane, Pres); }
然后您可以使用它:
if (cptDict[CTP] == Globals.ThisAddIn.Application.ActivePresentation) { CTP.Visible = true; }