2009-01-28 93 views
4

我正在用C#开发一个winForm应用程序,我遇到过一直困扰着我的东西。文本框vs标签

在向用户显示数据时使用Label或TextBox是否更好?

事情像名称,电话号码等。我的直觉说,使用TextBox并将其设置为只读,直到时间到了,我需要允许从该特定点进行编辑。计划未来,就像它一样。

作为一个年轻人孤狼开发人员我真的很感谢这里的任何见解。有没有亲和的?还有什么我没有想到的?

+0

有两件事:第一个“未来计划”是引用我的用户并有追踪记录。不是我个人的愿望。也许这是理解的,也许不是。其次,我仍然对StackOverflow社区感到惊讶。前15分钟有9个答案......为什么要去别的地方! – 2009-01-28 20:56:52

+0

+1,因为那也总是打扰我;) – Joe 2010-02-12 01:26:04

回答

5

对于用户可以编辑的数据(无论是否在当前上下文中启用),我总是使用一个文本框,根据需要启用/禁用该文本框。对于纯粹是信息性的数据,即用户在当前上下文中不会被赋予选项来改变它,那么这就是我使用标签的地方。

2

使用标签,除非需要编辑数据。你真的应该使用任何最适合显示信息的标签。

4

指示一个值是动态的是这里的关键。通常一个文本框可以很容易地识别出这是它被使用的原因。如果你可以用标签来做到这一点,那将是首选。

3

对于静态文本,我总是使用标签 - 为什么使用更重的控件,如果我不需要它?

11

要考虑的一件有用的事情是文本框中的文本是可选的,因此用户更容易复制/粘贴内容。

不成熟的优化,比如使用标签,因为它们的重量更轻,应该避开防守性编程,如您怀疑的那样,可以为您节省时间。

+3

有趣。我会考虑使用文本框,因为“您可能希望将来的文本可编辑”不成熟的优化。 – 2009-01-28 20:51:17

+2

+1考虑用户!您有多少次遇到过一些您不得不手动重新输入到Google中的难以理解的错误消息,因为开发人员使用标签控件/消息框来显示它,而不是Ctrl + A,Ctrl + C'd? – Matt 2009-08-04 23:29:08

3

标签是要走的路。

未启用文本框的问题是用户期望有一些方法来启用它。如果他们找不到允许编辑的地方,那么他们认为软件有问题。

2

有时,用户可能希望能够突出显示和复制静态文本(地址,电话号码等)。据我所知,标签不能突出显示,而只读文本框可以。

1

我同意d03boy。文本框推断该值是可编辑的。标签推断只显示表单。这是更多的工作。恕我直言,您希望您的应用程序与其他基于Windows的应用程序相匹配,使您的应用程序尽可能专业。

我会按照查看/编辑表单显示模型。

2

我认为这是一个需要停止成为程序员并开始成为用户的地方。看看事情就好像你是系统的用户,而不是开发人员。看看哪一个让你感觉用户更舒适。如果有必要(可能的话),询问那些没有参与开发过程的人员,并且没有太多涉及编程技巧。

6

您可能需要允许用户复制文本...这是我使用文本框然后使其看起来像标签(只读和透明背景和无边框)的唯一原因。

实际上,Windows中的“属性”对话框使用文本框来允许您复制文本。

请注意,我说“ReadOnly”...不是“Disabled”。