65.9K
CodeProject 正在变化。 阅读更多。
Home

适用于 WinForms 的 Windows Ribbon,第 6 部分 – 选项卡、组和帮助按钮

starIconstarIconstarIconstarIconstarIcon

5.00/5 (12投票s)

2010年3月2日

Ms-PL

3分钟阅读

viewsIcon

33469

downloadIcon

2386

在本文中,我将介绍如何使用 Ribbon 选项卡、组和 Ribbon 帮助按钮控件。

这系列 CodeProject 文章基于我首先在我的 博客上发表的一系列帖子。

首先,您应该知道我已经更改了 我的 Ribbon 库,因此 Ribbon 类不再是单例。
原因是我想创建一个包含两个窗体的应用程序,每个窗体都有自己的 Ribbon,因此需要两个 Ribbon 对象。所以这必须改变。

其次,在本文中,我将回顾一些更常见的 Ribbon 功能,即

  • 选项卡
  • 帮助按钮

这篇文章的结果是另一个示例应用程序,名为 04-TabGroupHelp。您可以在项目页面上找到它,它看起来像这样

image

按钮,按钮,按钮

那么什么是选项卡? 它们只是其他控件的容器。 在本示例中,我们仅使用按钮。 我将在以后的文章中详细介绍其他控件类型。

每个选项卡可以包含多个组,它们只是选项卡中控件的逻辑划分,在本文中 – 按钮

什么是帮助按钮? 只是另一个按钮。 由于某种原因,它有自己的特殊位置和预定义的图标(看图像的右侧)。

使用选项卡和组

命令标记始终相同,只是一列项目,这些项目将程序员使用的助记符与 Ribbon 框架使用的 ID 关联起来。还有一些字符串和位图资源。

与往常一样,有趣的部分在于视图标记

<Application.Views>
  <Ribbon>
    <Ribbon.Tabs>
      <Tab CommandName="cmdTabMain">
        <!-- scary part -->
        <Tab.ScalingPolicy>
          <ScalingPolicy>
            <ScalingPolicy.IdealSizes>
              <Scale Group="cmdGroupFileActions" Size="Large" />
              <Scale Group="cmdGroupExit" Size="Large" />
            </ScalingPolicy.IdealSizes>
            <Scale Group="cmdGroupFileActions" Size="Medium" />
          </ScalingPolicy>
        </Tab.ScalingPolicy>
        <!-- useful part -->
        <Group CommandName="cmdGroupFileActions" SizeDefinition="ThreeButtons">
          <Button CommandName="cmdButtonNew" />
          <Button CommandName="cmdButtonOpen" />
          <Button CommandName="cmdButtonSave" />
        </Group>
        <Group CommandName="cmdGroupExit" SizeDefinition="OneButton">
          <Button CommandName="cmdButtonExit" />
        </Group>
      </Tab>
      <Tab CommandName ="cmdTabDrop">
        <Group CommandName="cmdGroupDrop" SizeDefinition="ThreeButtons">
          <Button CommandName="cmdButtonDropA" />
          <Button CommandName="cmdButtonDropB" />
          <Button CommandName="cmdButtonDropC" />
        </Group>
      </Tab>
    </Ribbon.Tabs>
  </Ribbon>
</Application.Views>

我在这个标记中定义了两个选项卡。第一个选项卡有两个组,第二个选项卡有一个组。
我在第一个选项卡中标记了标记的两个重要部分。 遗憾的是,由于 Ribbon 模式定义,可怕的部分必须在有用的部分之前出现。

有用的部分

它只是选项卡中组的简单定义,以及组中的控件。 值得注意的一件事是 Group 标签上的 SizeDefinition 属性。 这是组中控件的布局定义。 您可以定义自己的布局或使用预定义的列表,这通常就足够了。 完整的列表(带有方便的图像)请参见 MSDN 上的“通过大小定义和缩放策略自定义 Ribbon”。

可怕的部分

为了理解这部分,您应该知道 Ribbon 框架的功能之一是能够根据它拥有的空间量重新布局您的 Ribbon 控件。 它几乎会自动处理这个问题,但它确实需要您定义有关当应用程序窗体越来越小时如何缩放您的布局的提示。 因此,在可怕的部分中,我们首先定义每个组的理想大小。 大小可以是四个值之一:Large、Medium、Small 和 Popup。 Popup 意味着整个组被缩小成一个图标,点击该图标后会弹出原始组。

在定义了组的理想大小之后,您可以定义缩小的顺序,这意味着哪个组应该首先缩小。 通过这种方式,您可以使应用程序中最重要的控件比不太重要的控件更可见。

用于处理这些按钮的后台代码与之前的文章相同,只需处理正确命令 ID 的 Execute 函数即可。

更新 (2009 年 11 月 18 日):只需注册到正确按钮的 OnExecute 事件即可。

使用帮助按钮

要使用帮助按钮,只需将以下内容添加到 views 标记中即可

<Application.Views>
  <Ribbon>
    <Ribbon.HelpButton>
      <HelpButton CommandName="cmdHelp" />
    </Ribbon.HelpButton>
    <Ribbon.Tabs>
      …
    </Ribbon.Tabs>
  </Ribbon>
</Application.Views>

暂时就到这里,
Arik Poznanski。

© . All rights reserved.