2010-06-21 162 views

回答

26

因为它说,在下面的论坛上发帖:

在文本框的背景下,只读 允许用户将焦点设置到和 选择和复制的文本,但不 修改。一个禁用的文本框不会 允许任何交互。

只有当您有数据时才使用只读 您希望用户看到并复制,但 不能修改。当您正在显示的数据是 不适用于对话框或窗口的当前 状态时,请使用禁用的文本框 。

来自MSDN Forums

+0

你在下面提供了答案,我只会补充说你总是可以设置'disabled',但并不是所有的控件都有'readonly'标签,这很遗憾。我建议你不要在一页上混合它们(没有很好的理由),因为它可能会混淆用户。 – Mawg 2010-06-21 23:50:31

1

启用指定用户交互是否是允许的。如果一个控件被禁用,那么它将不会生成任何UI事件。

ReadOnly确定用户是否可以编辑控件的内容。例如,一个ReadOnly TextBox不能被编辑,但你仍然可以点击它,选择其中包含的文本等。

2

ReadOnly我通常与TextBox或其他包含文本的控件相关联;它决定用户是否可以通过修改控件显示的文本。尽管(例如,将其复制并粘贴到另一个程序中),用户仍然可以选择文本

Enabled基本上控制是否可以与控件进行任何用户交互。例如ButtonEnabled == false不能被点击; CheckBoxEnabled == false不能切换,等等。请注意,TextBoxEnabled == false也不能选择其文本(这将是用户交互)。

此外,带有Enabled == false的控件不会引发与用户交互相关的事件,例如Click

0

如果以带滚动条的文本框为例,ReadOnly不允许用户编辑文本,但滚动条仍处于活动状态(请考虑安装程序中的许可证框)。 Enabled = false将导致整个控件禁用,而不仅仅是文本编辑区域。

1

只能启用或禁用某些控件,例如按钮。禁用的控件会给出一个视觉指示,说明它现在无法与之交互(通常是灰色/淡出)。其他人也可以是只读的,因为他们可以以某种方式与交互但未编辑。例如,上下控件通常就是这样,这意味着您可以按下按钮来更改该值,但不能通过正常的输入进行编辑。(也有可能拥有你永远无法互动的控件,但仍然可以禁用;仍然可以将标签变灰,作为指示GUI的整个区域现在不可用的一部分,这是更多令人满意的视觉效果,而不仅仅是改变交互式控制。)

几乎总是这样,被禁用意味着控件也是只读的。我见过一些情况不是这样的情况,它总是比我更像是一个错误。最好将状态视为表示三态值,其中一个状态不用于某些控制。

0

此外,我读here,如果一个文本框被标记为Enabled =“false”,它的值不会保留在视图状态跨回发。

+4

问题是询问* WinForms *,而不是* WebForms * – 2012-04-20 15:34:40

相关问题