C# excel多个workbook显示同一个taskpane

2025-10-08 05:11:26

1、首先在要显示taskpane的时候获取到当前窗口的句柄:

int hwnd = this.Application.ActiveWindow.Hwnd;

2、然后我们通过一个字典来获取当前窗口对应的taskpane是否创建

TaskPanels.TryGetValue(this.Application.ActiveWindow.Hwnd, out pane);

3、如果 pane 不存在 就创建并存储到字典中

UserControl ctrl= new UserControl();                Microsoft.Office.Tools.CustomTaskPane pane = this.CustomTaskPanes.Add(ctrl, "***", this.Application.ActiveWindow); /// 这一步很重要将决定是否显示到当前窗口,第三个参数的意思就是依附到那个窗口                pane.DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionRight;                pane.Width = 320;                TaskPanels.Add(this.Application.ActiveWindow.Hwnd, pane);

4、设置pane的Visible属性即可显示出来

pane.Visible = true;

C# excel多个workbook显示同一个taskpane

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢