【问题标题】:Windows GUI control option for selection of one or none用于选择一个或无的 Windows GUI 控制选项
【发布时间】:2013-03-23 00:29:48
【问题描述】:

假设我有一个允许用户选择none仅一个的多项选择选项的 GUI 控件。我用什么?

复选框:

还是单选框?

【问题讨论】:

  • 四个单选按钮:无、选项 1、选项 2、选项 3

标签: windows winforms user-interface


【解决方案1】:

一旦做出选择,就不能取消选择单选按钮,除非为此目的提供了单独的 UI 元素。这样的附加元素将是非标准的,因此容易混淆一些用户。

第一个选项为(无)或留空的下拉列表是一种相当常见的方法,似乎可以满足您的需求。

带有(无)选项的单选按钮同样可行,但实际上我还没有看到。单选按钮也往往比等效的选择框占用更多的 UI 空间。

我见过带有额外逻辑的复选框,以确保只选择一个选项,但这是一种非标准的 UI 行为,并且容易让一些用户感到困惑。

更新

来自维基百科关于 Checkbox UI 元素的文章,以及为什么选中一个复选框以取消选中其他复选框的行为是不好的:

设置或清除复选框会更改复选框的状态,而不会产生其他副作用。通过将附加操作与状态更改相关联来违反此准则经常会使用户感到困惑,因为他们习惯于在输入控件(例如文本框、单选按钮和复选框)中配置数据,然后调用操作控件(例如按钮)来启动处理数据的操作。

http://en.wikipedia.org/wiki/Checkbox#Not_actionable

【讨论】:

  • 确实,我强烈建议不要让复选框自动取消选中。
  • 谢谢各位。下拉框的问题在于,它们需要至少单击两次才能进行选择,而一组复选框则需要单击一次,而且在我看来(作为用户),复选框更具可读性。这并不多,但可能会使重复使用的区别。在旁注中,为我的目的使用复选框有什么问题?
  • @ahmd0:自动取消选中自身的复选框是非标准 UI 行为。如果您想避免额外点击选择框,最简洁的解决方案是一个单选按钮组,其中包含一个选项,指示(以适合您的域的任何语言)“无”。
  • @EricJ。是的,它会这样工作:如果用户点击一个复选框,那么它就会变为未选中状态。如果他们单击未选中的框,则该框将变为选中状态,并且先前选中的框也未选中。那么,如果我以这种方式实现它是“坏的”吗?同样,在我个人看来,下拉框看起来很乱......
  • 是的,如果以这种方式实施,那就“糟糕”了。用一个理由更新了我的答案。
【解决方案2】:

使用单选按钮并提供某种“以上都不是”选项——这是他们的工作描述。

(虽然下拉列表也可以很好地工作。)

【讨论】:

    猜你喜欢
    • 2022-01-07
    • 2021-02-22
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多