2011-03-13 33 views
0

我为Word插件创建CustomTaskPane,并将一些第三方控件放在CustomTaskPane上的控件上。但是,这些控件期望成为.net窗体的一部分,并且自己调用FindForm(),它遍历Control.Parent树直到它碰到窗体。在CustomTaskPane控件上设置父级?

但是,CustomTaskPane控件永远不会获得父级,并且不在.Net窗体上。我使用的是我在微软网站和其他地方看到的相同的代码来添加我的CustomTaskPane(C#):

MyControl ctrl = new MyControl; Microsoft.Office.Tools.CustomTaskPane pane = Globals.ThisAddIn.CustomTaskPanes.Add(ctrl,“Custom Pane”);

在这一点上,ctrl.Parent为空....我无法找到一个有效的控件设置为父。我作为一个插件运行,所以我没有对表单的引用,所有可用的对象都是来自Office对象模型的COM对象。

想法?

+0

因此,我从来没有弄明白,但是我将控件替换为没有相同限制的其他控件。无论如何,我们想要弃用这些特定的控件。 – 2011-03-23 01:03:29

回答

0

回答此问题的其他人(正如您已经解决了这个问题)。我们总是创建一个我们设置的UserControl来填充任务窗格。然后,我们将所有控件放在UserControl中。

+0

这并不能真正解决问题。我还在任务面板上放置了一个UserControl。问题是第三方控件正在寻找一个_Form_,特别是UserControl不是。我想这只是第三方控制方面的糟糕代码。 – 2011-10-12 15:47:38

+0

噢 - 是的。除非第三方控制只能在表单上执行该操作,否则绝不要求这样做。 – 2011-10-16 01:03:49

相关问题