好文档 - 专业文书写作范文服务资料分享网站

创建Excel解决方案 

天下 分享 时间: 加入收藏 我要投稿 点赞

精选文库

3. 双击 Help ToggleButton按钮,实现它的单击事件:

// 帮助选项卡中toggleButton的单击事件 private void toggleHelpBtn_Click(object sender, RibbonControlEventArgs e) { // 通过toggleHelpButton的选中状态来控制帮助任务栏的显示和隐藏 Globals.ThisAddIn.helpTaskPane.Visible = toggleHelpBtn.Checked; }

通过上面的三步也就完成了一个Ribbon的创建了,当我们创建好一个Ribbon之后,我们可以通过我们自定义的Ribbon下的按钮来显示/隐藏我们的任务窗体,但是到这里,Ribbon的开发并没有结束,此时还有一个问题就是——当我们点击 “Excel help”右上角的X按钮关闭时,我们Ribbon下的按钮状态也要跟着更变(大家可以测试,当我们关闭Word中的导航任务窗体时,试图下的\导航窗格\复选框“也会跟着改变),此时我们就需要实现:点击关闭按钮与Help按钮状态同步的功能的,此时我们只需要对TaskPane的

VisibleChanged事件进行处理就可以(因为关闭任务窗体就会触发该事件,所以只需要把同步状态的代码放在该事件就可以了),具体代码如下:

// 定义一个任务窗体 internal

Microsoft.Office.Tools.CustomTaskPane helpTaskPane; private void ThisAddIn_Startup(object sender, System.EventArgs e)

-

精选文库

{ // 把自定义窗体添加到CustomTaskPanes集合中 // ExcelHelp 是一个自定义控件类 helpTaskPane =

// 使任务窗体可见 //helpTaskPane.Visible = true; // 通过DockPosition属性来控制任务窗体的停靠位置, // 设置为 MsoCTPDockPosition.msoCTPDockPositionRight这个代表停靠到右边,这个值也是默认值 //helpTaskPane.DockPosition =

MsoCTPDockPosition.msoCTPDockPositionRight; // 当用户点击 “Excel help”右上角的X按钮关闭时,我们需要同步选项卡上button的状态 helpTaskPane.VisibleChanged += new

EventHandler(helpTaskPane_VisibleChanged); // 添加上下文菜单 //AddToCellMenu(); } private void // 用户点击 \侧边栏右上角的X按钮关闭它时 // 我们需要正确同步 “帮助”按钮的状态 // 我们可以通过处理 “Excel Help”侧边栏的VisualChanged 事件完成 private void helpTaskPane_VisibleChanged(object sender, EventArgs e) { // 获得Help Ribbon 对象 Help helpRibbon = Globals.Ribbons.GetRibbon(); // 同步Help Ribbon下的\帮助\按钮的状态 helpRibbon.toggleHelpBtn.Checked = Globals.ThisAddIn.helpTaskPane.Visible; }

运行效果图为:

Globals.ThisAddIn.CustomTaskPanes.Add(new ExcelHelp(\\Help\

ThisAddIn_Shutdown(object sender, System.EventArgs e) { }

-

精选文库

-

精选文库

四、自定义上下文菜单

看完上面两部分的实现之后,我在学习的过程中又想——能不能通过右键菜单来显示/隐藏任务窗体呢? 对于这点VSTO也是可以做到的,我们只需要添加CommandBarButton对象(当我们右键一个单元格(即为Cell)的时候,我们可以看到一上下文菜单,菜单内所有控件(不管是按钮还是排序这样的菜单控件)),然后设置该对象的属性和添加一个Click事件,主要代码如下:

// 添加一个自定义按钮到单元格上下文菜单中 contextMenu =Application.CommandBars[\commandBarbtn =

(CommandBarButton)contextMenu.Controls.Add(MsoControlType.msoControlButton, Before: 1); commandBarbtn.Tag = \commandBarbtn.Caption = \查看帮助\

-

精选文库

49; commandBarbtn.Click+=new

_CommandBarButtonEvents_ClickEventHandler(commandBarbtn_Click);

运行效果为(这样我们右键Cell的时候就会多出一个我们自己定义的 ”查看帮助“按钮):

五、小结

到这里本专题的内容就介绍完了,本专题主要介绍如何为Excel创建一个自定义的任务窗体、Ribbon和上下文菜单,对于Word和Outlook这部分的内容我就不重复介绍,创建方式和Excel的创建方式很类似。在下一个专题中我将给大家介绍下如何创建Word解决方案。

本专题所有源码:http://files.cnblogs.com/zhili/ExcelHelpTaskPane.zip

-

创建Excel解决方案 

精选文库3.双击HelpToggleButton按钮,实现它的单击事件://帮助选项卡中toggleButton的单击事件privatevoidtoggleHelpBtn_Click(objectsender,RibbonControlEventArgse){
推荐度:
点击下载文档文档为doc格式
5jasb2puju5zpak1cslt1is530855j00id0
领取福利

微信扫码领取福利

微信扫码分享