版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
8 相关控件
在VSTO开发中,Ribbon(或称为Ribbon UI)是指Office应用程序中的那个位于顶部的带有选项卡、组和按钮的用户界面。通过自定义Ribbon控件,开发者可以在Office应用程序中添加自定义的选项卡、按钮、分组以及其他UI元素,以便用户可以访问您的自定义功能。
一、Ribbon各个控件常用属性:
- ControlSIze:包括两种大小:常规(RibbonControlSizeRegular),大图标(RibbonControlSizeLarge),如果使用RibbonControlSizeLarge,那么ShowImage和ShowLabel都强制为True。
- Label:控件的文本
- ShowImage:是否显示图片
- ShowLabel:是否显示Label
二、Ribbon各个控件常用事件:
大多数控件只提供了Click事件。
三、主要控件说明:
1、RibbonTab(选项卡)
Tab是Ribbon中的顶级容器,用于分组和组织相关的Ribbon控件。
2、RibbonGroup(组)
Group是RibbonTab中的一个分组容器,用于将相关的按钮和其他控件组织在一起。
3、RibbonButton(按钮)
Button用于在Ribbon中添加按钮,用户可以单击按钮以执行特定操作。您可以为按钮指定图标、标签和事件处理程序。
4、RibbonToggleButton(切换按钮)
ToggleButton类似于RibbonButton,但可以表示两种状态,用户单击切换按钮以在两种状态之间切换。
5、RibbonMenu(菜单)
Menu用于创建下拉菜单,用户可以从菜单中选择选项。菜单可以包含子菜单和各种菜单项。
6、RibbonComboBox(组合框)
ComboBox允许用户从下拉列表中选择项目,也可以手动输入内容。
7、RibbonDropDown(下拉列表)
DropDown类似于RibbonComboBox,但用户只能从预定义的列表中选择项目。
8、RibbonEditBox(编辑框)
EditBox允许用户输入文本,通常用于接收用户输入的参数或文本。
9、RibbonLabel(标签)
Label用于在Ribbon中添加文本标签,用于提供说明或上下文。
10、RibbonSeparator(分隔符)
Separator用于在Ribbon中添加分隔符,以在按钮和组之间创建间隔,似乎只能创建垂直的分割线。
11、RibbonSplitButton
SplitButton组合了一个主按钮和一个下拉菜单,类似于传统的按钮和下拉框的组合。
12、RibbonGallery
Gallery展示一组相关的选项或内容,以便用户选择。当用户点击按钮后,会弹出一个下拉菜单,其中列出了各种选项供用户选择。
13、RibbonCheckBox
RibbonCheckBox创建复选框,供用户选择和操作。
这是使用Ribbon控件后的效果:
图14 控件设计界面
RibbonSplitButton和RibbonMenu控件点击下拉框的小箭头,将在控件下方显示新的区域,可以将RibbonButton、RibbonCheckBox、RibbonGallery、RibbonToggleButton、RibbonMenu拖放入这个区域。
图15 将控件拖放到RibbonSplitButton区域
四、DialogBoxLauncher
Ribbon控件的 DialogBoxLauncher 是一个小箭头图标,通常出现在Group控件的右下角。
图16 DialogBoxLauncher(红色框处)
可以通过以下方式添加DialogBoxLauncher:
1、选中Group控件,点击右上角小箭头,在弹出的“GroupView 任务”菜单上点击“添加DialogBoxLauncher”;如果再次点击右上角小箭头,在弹出菜单中会显示“移除DialogBoxLauncher”。
2、在Group控件空白处,点击鼠标右键,在弹出菜单上点击“添加DialogBoxLauncher”;同样,如果再次点击鼠标右键,在弹出菜单中会显示“移除DialogBoxLauncher”。
图17 “GroupView 任务”菜单
用户点击DialogBoxLauncher图标会触发“DialogLauncherClick”事件,可以在这个事件的代码中弹出一个额外的对话框或者菜单,以提供更多的选项或设置。
[代码5]以下代码在点击DialogBoxLauncher图标后会弹出一个“About”窗口:
Private Sub Group2_DialogLauncherClick(sender As Object, e As RibbonControlEventArgs) Handles Group2.DialogLauncherClick
Dim frm_about As New frmAbout
frm_about.ShowDialog()
End Sub
运行结果如下:
图18 DialogBoxLauncher单击事件