将winform插件添加到Word中的自定义任务窗格

时间:2013-10-21 10:24:13

标签: c# winforms

我正在使用Visual Studio 2010和Word 2010

我按照本指南在Word中创建了一个Winform插件 Create addin using VSTO in MS Word

现在我想把这个插件停靠在word面板上。我听说我可以通过自定义任务窗格来做到这一点,我试过但无法弄清楚如何。

有没有人知道怎么做?

非常感谢:)我得到了窗格,但无法在其中添加winform。最后,我必须将所有winform控件放入usercontrol,现在它可以工作。

2 个答案:

答案 0 :(得分:2)

您应首先创建一个用户控件(您可以使用设计器执行此操作),让我们将其命名为CustomUserControl,然后添加以下内容:

private CustomUserControl myUserControl;
private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

现在,在任务窗格类或AddIn_Startup函数中,添加以下内容:

myUserControl = new CustomUserControl();
myCustomTaskPane = Globals.ThisAddIn.CustomTaskPanes.Add(myUserControl, "TaskPane Title");

您可以通过更改Visible属性来控制任务窗格的可见性:myCustomTaskPane.Visible = true;

请注意,在创建此类自定义任务窗格时,在Word中,它将与活动文档关联。取决于您要执行的操作,您应该考虑为每个文档创建自己的实例。 有关更多信息,请参阅此处: Managing Custom Task Panes in Multiple Application Windows

答案 1 :(得分:0)

我不知道你的代码。但在这里我粘贴我的代码。试试这个。

 private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        //User Control
        uctrl_TextControl sampleControl = new uctrl_TextControl();
        Microsoft.Office.Tools.CustomTaskPane _customeTaskPane = this.CustomTaskPanes.Add(sampleControl, "Sample");
        _customeTaskPane.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight;
        _customeTaskPane.Visible = true;
        _customeTaskPane.Width = 400;
    }