5

有一个带有“使用 foo”复选框的表单是很常见的,紧接着是一个文本框,用户可以在其中输入他想要使用的“foo 值”。当然,这个文本框只有在“Use foo”被选中时才有用

我不知道处理这种情况的最佳方法:

  1. 禁用文本框(即 textboxfoo.Enabled=false;)
  2. 隐藏它(即 textboxfoo.Visible=false;)
  3. 如果他愿意,让用户输入一个 foo 值,并忽略他输入的值。

有没有我可以遵循的最佳实践?

4

7 回答 7

12

文本框应该被禁用。

如果文本框被隐藏,那么表单的可见更改将使程序的用户友好性降低。这方面的一个例子是以前在 Microsoft Office 中的旧(非常不受欢迎)消失的菜单项。人们不希望屏幕上的东西四处移动。这令人迷惑。

如果允许用户输入一个无用的值,那么就会给人一种错误的印象,即输入该值有一些效果。

于 2009-01-29T22:16:41.897 回答
2

在这种情况下,禁用文本框是最好的选择。当复选框被选中/取消选中时文本框被启用/禁用的事实为用户提供了有用的反馈:use foo 选项需要一个 foo 值,并且 foo 值只有在选择了 use foo 选项时才有意义。

隐藏文本框不太令人满意 - 如果未选中该框,用户将不会意识到启用 foo 选项将允许他们指定 foo 值。想象他们在想:“我最好不要选择 use foo 选项,因为我不知道将使用什么 foo 值。”

第三个选项是最差的,因为并不表示输入的值将被忽略。

于 2009-01-29T22:22:29.780 回答
1

禁用文本框

隐藏文本框后,用户可能会跳过“使用 Foo”选项,因为他们不清楚他们将如何或应该如何定义“foo”。当文本框可见但被禁用时,用户将认识到他们可以定义“foo”,一旦他们说他们想使用它。

于 2009-01-29T22:19:40.533 回答
1

显然禁用文本框是有利的,因为用户仍然可以直观地了解“Foo”将使他们能够做什么。

但是,当“Foo”被选中/取消选中时打开或关闭的“更多选项>>”/“<<更少选项”面板呢?从开发人员的角度来看,工作量太大,和/或从用户的角度来看,工作量太大?我自己,我喜欢它清理界面的方式,因为“Foo”的默认值(隐藏时)是合适的。

(话虽如此,我并没有在任何地方都使用它。在所有好事中都要适度。)

于 2009-01-29T22:36:50.187 回答
0

我喜欢禁用而不是隐藏,只是因为它可以避免对话框中不必要的空白。

于 2009-01-29T22:17:26.810 回答
0

禁用文本框。
它让用户清楚地知道有一个选项碰巧不可用。隐藏它有时会得到“我的盒子去哪儿了”的用户响应。

于 2009-01-29T22:24:27.747 回答
0

另一种选择是让输入者也输入一些数据,但如果他开始输入 foo 文本框,则自动检查 foo 复选框。

于 2009-01-29T22:51:03.030 回答