旋转控件

注意

此设计指南是为 Windows 7 创建的,尚未针对较新版本的 Windows 进行更新。 大部分指导原则上仍然适用,但演示和示例并不反映我们 当前设计指南

使用旋转控件,用户可以单击箭头按钮以增量方式更改其关联的 数值文本框的值。 术语旋转框是指文本框及其关联的旋转控件的组合。

旋转控件和文本框screen shot of spin control and text box screen shot of spin control and text box 的屏幕截图

典型的旋转框。

用户通常更喜欢旋转控件,因为他们可以在不从鼠标移动手的情况下进行更改。 当旋转控件与文本框配对时,用户可以直接在文本框中键入或粘贴输入,因此旋转控件的使用是可选的。

虽然旋转控件用于数字输入,但输入不必是纯整数。 输入可以是十进制数字,它可以具有负号、分隔符(如冒号或连字符)和单位修饰符。

注意

单独的文章中介绍了与 文本框布局 相关的指南。

 

这是正确的控件吗?

若要决定,请考虑以下问题:

  • 控件是否用于数字输入? 否则,请使用另一个控件(例如 下拉列表滑块)从固定值集中选择。 使用滚动条进行滚动。

  • 用户是否将该值视为相对数量,而不是数值? 如果是,请改用滑块。 仅对确切的已知数值使用旋转框。 例如,用户考虑将音频音量设置为低或中,而不是将值设置为 2 或 5。

  • 控件是否与文本框配对? 否则,请勿使用。 旋转控件不应单独使用,也不应与文本框以外的其他类型的控件一起使用。

    不正确:

    旋转控件、图形、无文本框 的屏幕截图

    在此示例中,旋转控件用于控制动态图形。

  • 连续值范围是否有效? 否则,请改用有效值的下拉列表。

    下拉列表screen shot of drop-down list screen shot of drop-down list 的屏幕截图

    在此示例中,并非所有磁盘驱动器编号都有效,因此下拉列表是更好的选择。

  • 使用旋转控件是否实用? 使用旋转控件对于:

    • 输入小数,通常小于 100。
    • 对现有值或默认值进行少量更改。

    虽然旋转控件可用于任何数值输入,但它们在除这些值以外的情况中效率低下。

  • 旋转控件是否有帮助? 控件是否在用户可能使用鼠标的上下文中使用? 如果没有,请考虑可选旋转控件。

  • 同级控件下拉列表吗? 如果有其他下拉列表,请考虑使用下拉列表保持一致性。

    screen shot of dialog box with drop-down lists screen shot of dialog box with drop-down lists 下拉列表的对话框屏幕截图

    在此示例中,可以使用旋转框,但下拉列表用于一致性。

  • 触摸或笔用户是主要目标吗? 如果是这样,请考虑改用下拉列表。 旋转控件中的箭头按钮太小,无法有效地用于触摸或笔。

如果有可能使用滑块或旋转框,请使用旋转框(如果:

  • 屏幕空间很紧。
  • 用户可能更喜欢使用键盘。

使用滑块(如果:

  • 用户将受益于即时反馈。

指引

常规

  • 只要旋转控件实用且有用,就使用旋转控件。 请参阅 这是正确的控件吗?

    • 例外: 要与同一用户界面(UI)上的其他文本框保持一致,即使它们并不总是可行,也可以使用旋转控件。

    正确:

    月、日、年旋转控件screen shot of month, day, year spin controls screen shot of month, day, year spin controls 的屏幕截图

    在此示例中,旋转控件与年份控件一致性一起使用,尽管它并不总是可行的。

    不正确:

    ip 地址旋转控件screen shot of ip address spin control screen shot of ip address spin control 的屏幕截图

    在此示例中,旋转控件不可用。

  • 始终将旋转控件设置为文本框的“好友”。 这样做会将旋转控件放在文本框中。

    正确:

    文本框内放置的旋转控件的屏幕截图

    不正确:

    位于文本框外部的旋转控件的屏幕截图

    在正确的示例中,旋转控件放置在其关联的文本框内。

  • 禁用其关联的文本框时禁用旋转控件。 旋转控件是补充输入法,从来不是唯一的输入法。

  • 定义顶部按钮以将值增加一个单位,而底部按钮则减少一个单位。 通常,单位是一个,但它应该是值中最小的常见更改。 理想情况下,旋转控件应涵盖所有有效值,并且应该比在文本中键入更方便。

    “边距”旋转控件的屏幕截图

    在此示例中,单击旋转控件会将值更改为 .1,这是值中最小的常见更改。 使用较小的单元将涵盖有效值的范围,但使旋转控件不可用。

  • 使用旋转控件将输入限制为有效值。 使用旋转控件绝不会导致值不正确。

  • 在有效值范围的末尾,重启该范围。 旋转控件隐喻是用户正在旋转值轮,因此这种轮式行为。

    • 异常: 如果生成的值肯定不正确,则不要重启范围。

      “副本数”旋转控件的屏幕截图

      在此示例中,单击向下箭头按钮不会重启范围(转到最大值),因为该值肯定不正确。

  • 使用文本而不是特殊数值。 允许用户旋转这些特殊值,而无需了解它们并键入它们。

    “睡眠后(从不)”旋转控件的屏幕截图

    在此示例中,Never 是一个特殊值,但用户可以旋转它。

  • 如果值具有分隔符,则关联的文本框应具有多个输入焦点。 这样做允许单独作数值段。

    时间旋转控件的屏幕截图,选择分钟数

    在此示例中,旋转控件会影响小时、分钟、秒和 A.M./P.M.的值,无论哪个值都具有焦点。

  • 如果值具有单位,则使用旋转控件也更改这些单位。

    时间旋转控件的屏幕截图,选择“a.m.”

    在此示例中,旋转控件可用于更改单位。

标签

  • 应用 文本框标记 准则来标记关联的文本框。 旋转控件永远不会直接标记。

文档

引用旋转控件时:

  • 不要在用户文档中引用旋转控件。 而是引用关联文本框的标签。
  • 仅在编程和其他技术文档中参考旋转控件和旋转框。

示例:在 日期 框中,键入或选择要更改的日期部分。

术语表