【问题标题】:Add winform addin to Custom task pane in Word将 winform 插件添加到 Word 中的自定义任务窗格
【发布时间】:2013-10-22 11:53:12
【问题描述】:

我正在使用 Visual Studio 2010 和 Word 2010

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

现在我想将此插件停靠在文字面板上。我听说我可以通过自定义任务窗格来做到这一点,我试过但不知道怎么做。

有人知道怎么做吗?

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

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    您应该首先创建一个用户控件(您可以使用设计器来完成),我们将其命名为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

    【讨论】:

    • 对我来说 this.CustomTaskPanes 为空。为什么?
    • 我正在创建文档级插件。
    【解决方案2】:

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

     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;
        }
    

    【讨论】:

    • 感谢您的快速回答,停靠窗格确实出现了,如何将我的 winform 添加到其中?
    • 第一行我实例化了 winform 用户控件。将对象添加到自定义任务窗格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    相关资源
    最近更新 更多