你如何处理Winforms中的临时无用控件(隐藏与禁用)?

时间:2009-01-29 22:13:00

标签: winforms user-interface usability

一个带有复选框的表单很常见,表示“使用foo”后面紧跟一个文本框,用户可以在其中输入他想要使用的“foo值”。当然,只有选中“使用foo”

时,此文本框才有用

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

  1. 禁用文本框(即textboxfoo.Enabled = false;)
  2. 隐藏它(即textboxfoo.Visible = false;)
  3. 让用户输入foo值,如果他愿意,则忽略他输入的值。
  4. 我可以遵循最佳做法吗?

7 个答案:

答案 0 :(得分:12)

应禁用文本框。

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

如果允许用户输入无用的值,则会给人以错误的印象,即输入该值会产生一些影响。

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:1)

禁用文本框

隐藏文本框后,用户可以跳过“使用Foo”选项,因为他们不清楚他们将如何或应该定义“foo”。在文本框可见但禁用的情况下,用户会认识到一旦他们说要使用它就可以定义“foo”。

答案 3 :(得分:1)

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

但是关于“更多选项>>”的内容选中/取消选中打开或关闭为“Foo”的/“<<<<<<<<<<从用户的角度来看,从开发人员的角度来看,和/或是否有太多的小问题?我自己,我喜欢它清理界面的方式,因为“Foo”(隐藏时)的默认值是合适的。

(话虽如此,我不会在任何地方都使用它。适用于所有好事。)

答案 4 :(得分:0)

我赞成禁用隐藏,只是因为它避免了对话框中不必要的空白区域。

答案 5 :(得分:0)

禁用文本框 它使用户清楚地知道有一个选项恰好不可用。 隐藏它有时会得到用户对“我的盒子去哪了”的回应。

答案 6 :(得分:0)

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