Excel VSTO开发10 -自定义任务面板

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

10 自定义任务面板

自定义任务面板(有些地方称为侧边面板)即CustomTaskPane,这个类在Microsoft.Office.Tools下面。以下将详细讲述如何实现自定义任务面板。

代码6 CustomTaskPane的创建和使用

向项目添加一个"用户控件",

图 19 选择"用户控件"

在开发界面根据需要向用户控件窗体上增加相应内容。

图 20 设计"用户控件"界面

在ThisAddIn类代码下面添加:

'定义一个带事件的自定义任务面板

Public WithEvents AboutTaskPan As Microsoft.Office.Tools.CustomTaskPane

在ThisAddIn_Startup()中添加

'插件启动时候

Private Sub ThisAddIn_Startup() Handles Me.Startup

System.Diagnostics.Debug.WriteLine("Startup")

Dim userAbout As New UserControl1

'添加自定义任务面板,将会显示用户控件

AboutTaskPan = Globals.ThisAddIn.CustomTaskPanes.Add(userAbout, "任务面板")

AboutTaskPan.Visible = True

AboutTaskPan.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition. msoCTPDockPositionRight

End Sub

运行结果如下:

图 21 Excel 窗口右侧显示"任务面板"

在Ribbon开发界面下添加一个Group3,并在上面增加一个ToggleButton1:

图 22 Ribbon界面下增加 ToggleButton

双击ToggleButton1,添加代码:

Private Sub ToggleButton1_Click(sender As Object, e As RibbonControlEventArgs) Handles ToggleButton1.Click

Globals.ThisAddIn.AboutTaskPan.Visible = ToggleButton1.Checked

End Sub

继续在ThisAddIn类代码下面添加如下代码:

Private Sub AboutTaskPan _VisibleChanged(sender As Object, e As EventArgs) Handles AboutTaskPan.VisibleChanged

Dim aboutribbon As Ribbon1 = Globals.Ribbons(0) '.GetRibbon("Ribbon1")

aboutribbon.ToggleButton1.Checked = AboutTaskPan.Visible

End Sub

上述代码在单击ToggleButton1后,根据ToggleButton1被选中的状态来决定是否显示"任务面板",同时关闭"任务面板"时,调整ToggleButton1的显示。

相关推荐
Logic1017 小时前
表格智能记账3 销售与库存智能联动,自动标红库存预警
excel·条件格式·excel技巧·vlookup·sumif
且随疾风前行.9 小时前
Paint Cavans高级绘制:[一]Paint画笔高级应用
android·ui
唯鹿9 小时前
AI生成UI代码实践(二)—— Figba 更新月记
ui·ai·figma·1024程序员节·蓝湖
fqbqrr10 小时前
2610C++,UI复合技术在窗口中绘画字体图标
c++·ui
技术小甜甜17 小时前
【Copilot】能选 Claude 和 GPT-6 了,Excel 分析该交给谁
gpt·excel·copilot·claude·microsoft365·gpt-6
xy34531 天前
Axure 9.0 列表框 介绍
ui·axure·原型·产品设计
xy34531 天前
Axure 9.0 内联框架加载方式
前端·ui·html·axure·原型·产品设计
特立独行的猫a2 天前
仓颉语言cj-tauri 跨端开发框架实战:给鸿蒙侧加一个「读设备电量」的原生能力
ui·harmonyos·tauri·1024程序员节·仓颉·鸿蒙pc
zzu123zsw2 天前
当 GPU 加速渲染遇上无头组件:拆解 Yororen UI 在 GPUI 生态下的状态解耦与 XML 模板实践
xml·ui·rust·gui·gpui
小白今天也很酷2 天前
MCXN947更新板载DAP_Link固件的方法
c语言·python·单片机·ubuntu·excel·1024程序员节