我正在使用Visual Studio 2010和Word 2010
我按照本指南在Word中创建了一个Winform插件 Create addin using VSTO in MS Word
现在我想把这个插件停靠在word面板上。我听说我可以通过自定义任务窗格来做到这一点,我试过但无法弄清楚如何。
有没有人知道怎么做?
非常感谢:)我得到了窗格,但无法在其中添加winform。最后,我必须将所有winform控件放入usercontrol,现在它可以工作。
答案 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;
}