2010-06-21 198 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

相關問題