• vsto 任务面板 添加自定义控件


    1. 在使用 VSTO (Visual Studio Tools for Office) 构建任务面板(Task Pane)时,你可以通过以下步骤添加和管理任务面板:
    2. 1. **创建 VSTO 项目:**
    3. - 打开 Visual Studio。
    4. - 选择 "新建项目"
    5. - 在模板中选择 "Office" > "Excel 项目"
    6. - 为项目指定名称,然后点击 "确定"
    7. 2. **设计任务面板界面:**
    8. - 在解决方案资源管理器中,双击 `ThisAddIn.cs` 文件以打开代码视图。
    9. - 在 `ThisAddIn_Startup` 方法中,使用以下代码创建任务面板并添加用户控件:
    10. ```csharp
    11. private void ThisAddIn_Startup(object sender, System.EventArgs e)
    12. {
    13. // 创建任务面板
    14. CustomTaskPane taskPane = this.CustomTaskPanes.Add(new YourUserControl(), "任务面板标题");
    15. // 设置任务面板的宽度
    16. taskPane.Width = 300;
    17. // 显示任务面板
    18. taskPane.Visible = true;
    19. }
    20. ```
    21. - `YourUserControl` 是你在项目中创建的用户控件,用于构建任务面板的自定义界面。
    22. 3. **设计用户控件(任务面板内容):**
    23. - 在解决方案资源管理器中,右键单击项目,选择 "添加" > "用户控件"
    24. - 设计用户控件的界面,可以添加按钮、文本框、列表框等控件。
    25. - 在用户控件的代码文件中,实现相应的逻辑和事件处理。
    26. 4. **设置任务面板的可见性:**
    27. - 你可以在代码中动态控制任务面板的可见性,根据需要显示或隐藏任务面板。
    28. ```csharp
    29. // 隐藏任务面板
    30. taskPane.Visible = false;
    31. // 显示任务面板
    32. taskPane.Visible = true;
    33. ```
    34. 5. **运行项目:**
    35. - 确保构建并运行项目。
    36. - 打开 Excel,在 Excel 中启用 VSTO 项目,以查看添加的任务面板。
    37. 请注意,任务面板是一个独立的窗口,它可以悬浮在 Excel 窗口旁边或者嵌入到 Excel 窗口中,具体取决于你的设置。你可以在任务面板上实现与 Excel 工作簿的交互逻辑,以及在用户控件中添加适当的控件和事件处理程序。 VSTO 提供了强大的 API,可以让你更容易地与 Excel 进行集成。

    CustomTaskPane 可以添加多个控件么 一个左边 一个右边

    1. `CustomTaskPane` 是一个用于在 Office 应用程序中创建自定义任务面板的类,但每个 `CustomTaskPane` 实例通常只与一个用户控件相关联。如果你想要在左侧和右侧各有一个任务面板,你需要创建两个 `CustomTaskPane` 实例,每个都与相应的用户控件关联。
    2. 以下是一个简单的示例,演示如何在 Excel 中创建左右两个任务面板:
    3. ```csharp
    4. private void ThisAddIn_Startup(object sender, EventArgs e)
    5. {
    6. // 创建左侧任务面板
    7. CustomTaskPane leftTaskPane = this.CustomTaskPanes.Add(new LeftUserControl(), "左侧任务面板");
    8. leftTaskPane.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionLeft;
    9. leftTaskPane.Visible = true;
    10. // 创建右侧任务面板
    11. CustomTaskPane rightTaskPane = this.CustomTaskPanes.Add(new RightUserControl(), "右侧任务面板");
    12. rightTaskPane.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight;
    13. rightTaskPane.Visible = true;
    14. }
    15. ```
    16. 在这个示例中,`LeftUserControl` 和 `RightUserControl` 是你创建的两个用户控件,分别用于左侧和右侧的任务面板。`DockPosition` 属性用于设置任务面板的停靠位置,`msoCTPDockPositionLeft` 表示左侧,`msoCTPDockPositionRight` 表示右侧。
    17. 需要注意的是,用户可以拖动任务面板,将其停靠在左侧、右侧、顶部或底部,但通过设置 `DockPosition` 属性,你可以指定默认的停靠位置。此外,你还可以设置其他属性来调整任务面板的行为,例如宽度、高度等。
    18. 确保你的用户控件(`LeftUserControl` 和 `RightUserControl`)中包含了你希望在任务面板中显示的控件和逻辑。

  • 相关阅读:
    HTML表格合并行和列
    【Vue3】0-99
    HTML静态网页作业——基于html+css+javascript+jquery+bootstarp响应式成都家乡介绍网页
    HTTP 状态码
    【花式】基于Matlab画带有阴影的饼状图
    熬夜也要肝完的阿里内部面试官手册,吃透直接拿下大厂心仪 offer
    docker启动已存在容器
    C语言基础篇 —— 3-1 一文秒懂指针数组与数组指针
    CSM会议室预约系统源码
    前沿重器[29] | ERNIE-Search:向交互式学习的表征式语义匹配代表作
  • 原文地址:https://blog.csdn.net/nbspzs/article/details/134337415