• 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的显示。

  • 相关阅读:
    链路追踪。
    【LeetCode热题100】--55.跳跃游戏
    matlab读/输出数据、字符格式
    站点信息搜集
    使用ES检索PDF或Word等格式文件方案
    C语言之结构体(Struct)
    SetWindowDisplayAffinity 函数设置窗体透明
    大数据分布式计算工具Spark实战讲解(数据输入实战)
    C++初阶(十)模板初阶
    【BOOST C++容器专题03】【01】Boost.MultiIndex
  • 原文地址:https://blog.csdn.net/UruseiBest/article/details/132717889