WinForms Windows Ribbon,第 5 部分 - 带有 SplitButton 和 DropButton 的应用程序菜单





5.00/5 (13投票s)
在本文中,我将介绍如何在 WinForms 应用程序中使用带有 Ribbon 分裂按钮和 Ribbon 下拉按钮控件的 Ribbon 应用程序菜单。
这系列 CodeProject 文章基于我首先在我的 博客上发表的一系列帖子。
今天我将向您展示如何在 WinForms 应用程序中使用以下 Ribbon 功能
- 菜单组
- 应用程序菜单中的分割按钮
- 应用程序菜单中的下拉按钮
这篇文章的结果如下所示
SplitButton 与 DropDownButton
这两者之间到底有什么区别?
DropDownButton
不是一个按钮,这意味着单击它不会执行任何操作。将鼠标悬停在它上面会打开一个按钮列表。
另一方面,SplitButton
本身就是一个按钮,您可以对其做出响应。将鼠标悬停在它上面也会打开一个按钮列表。
DropDownButton
的常见用途是,当您想要公开一组没有明显默认选项的项目时。例如,考虑 Paint
中的“Rotate
”功能。您有 Rotate90
、Rotate180
和 Rotate270
,但其中没有一个是明显的默认选项。
SplitButton
的常见用途是,当您想要公开一组具有明显默认选项的项目时。例如,“另存为”按钮,其中有一个默认的保存格式。
在 Ribbon 应用程序菜单中使用 SplitButton 和 DropDownButton
命令标记与之前相同,只需定义一些稍后在视图标记中列出的命令即可。例如<Command Name="cmdButtonDropA"
Id="1008"
LabelTitle="Drop A"
LabelDescription="Sub button A"
TooltipTitle="Drop A">
<Command.LargeImages>
<Image>Res/DropA32.bmp</Image>
</Command.LargeImages>
</Command>
<Command Name="cmdButtonDropB"
Id="1009"
LabelTitle="Drop B"
LabelDescription="Sub button B"
TooltipTitle="Drop B">
<Command.LargeImages>
<Image>Res/DropB32.bmp</Image>
</Command.LargeImages>
</Command>
相关的视图标记定义如下
<DropDownButton CommandName='cmdDropDownButton'>
<MenuGroup Class='MajorItems'>
<Button CommandName='cmdButtonDropA' />
<Button CommandName='cmdButtonDropB' />
<Button CommandName='cmdButtonDropC' />
</MenuGroup>
</DropDownButton>
<SplitButton>
<SplitButton.ButtonItem>
<Button CommandName='cmdButtonDropB' />
</SplitButton.ButtonItem>
<SplitButton.MenuGroups>
<MenuGroup Class='MajorItems'>
<Button CommandName='cmdButtonDropA' />
<Button CommandName='cmdButtonDropB' />
<Button CommandName='cmdButtonDropC' />
</MenuGroup>
</SplitButton.MenuGroups>
</SplitButton>
后台代码部分也与上一篇文章中的相同,只需使用相应的 ID 处理 IUICommandHandler.Execute
。
更新 (2009.11.18):只需注册到相应按钮的 OnExecute
事件即可。
MenuGroup
菜单组是应用程序菜单中菜单项的集合。它提供的最有用的功能是为一组项目提供标题,例如最后一个图像中的“文件菜单”。
如果您只需要菜单项之间的简单分隔符,您可以使用未附加到任何命令的 MenuGroup
。
<MenuGroup>
…
</MenuGroup>
与往常一样,最新版本的“Windows Ribbon for WinForms”以及示例应用程序可以在 这里 找到。
暂时就到这里,
Arik Poznanski。