比如说,如果我有一个 GUI 控件,允许用户选择none或 仅选择多项选择选项之一。我用什么?
复选框:
还是收音机盒子?
使用单选按钮并提供某种“以上都不是”选项——这就是他们的工作描述。
(尽管下拉列表也可以同样有效。)
一旦做出选择,就不能取消选择单选按钮,除非为此目的提供了单独的 UI 元素。这样的附加元素将是非标准的,因此容易使一些用户感到困惑。
第一个选项为(无)或留空的下拉列表是一种相当常见的方法,似乎可以满足您的需求。
带有(无)选项的单选按钮同样可行,但实际上我还没有看到。单选按钮也往往比等效的选择框占用更多的 UI 空间。
我已经看到带有附加逻辑的复选框,以确保只选择一个选项,但这是一种非标准的 UI 行为,并且再次容易混淆一些用户。
更新
来自维基百科关于 Checkbox UI 元素的文章,以及为什么选中一个复选框以取消选中其他复选框的行为是不好的:
设置或清除复选框会更改复选框的状态,而不会产生其他副作用。通过将附加操作与状态更改相关联来违反此准则经常会使用户感到困惑,因为他们习惯于在输入控件(例如文本框、单选按钮和复选框)中配置数据,然后调用操作控件(例如按钮)来启动处理数据的动作。