Подтвердить что ты не робот

В чем основное отличие между ReadOnly и Enabled?

В элементах управления Windows Forms существует два свойства: ReadOnly и Enabled.

В чем разница между этими двумя свойствами? Я чувствую, что они ведут себя одинаково.

4b9b3361

Ответ 1

Как говорится на следующем форуме:

В контексте TextBox, только для чтения позволяет пользователю устанавливать фокус и выберите и скопируйте текст, но не измените его. Отключенный TextBox не разрешить любое взаимодействие.

Используйте ReadOnly, когда у вас есть данные, которые вы хотите, чтобы пользователь видел и копировал, но не изменять. Используйте отключенное текстовое поле, когда данные, которые вы показываете, не применяется для текущего состояние диалога или окна.

Взято из: Форумы MSDN

Ответ 2

ReadOnly Я обычно ассоциирую с TextBox или другим элементом управления, который содержит текст; он определяет, может ли пользователь изменить текст, отображаемый элементом управления. Пользователь все еще может выбирать текст (например, копировать и вставлять его в другую программу).

Enabled в основном контролирует, возможно ли взаимодействие пользователя с элементом управления. Например, Button с Enabled == false не может быть нажата; a CheckBox с Enabled == false нельзя переключить и т.д. Обратите внимание, что a TextBox с Enabled == false также не может выбрать свой текст (это будет взаимодействие с пользователем).

Кроме того, элементы управления с Enabled == false не создают событий, связанных с взаимодействием с пользователем, например Click.

Ответ 3

Enabled указывает, разрешено ли взаимодействие с пользователем. Если элемент управления отключен, он не будет генерировать какие-либо события пользовательского интерфейса.

ReadOnly определяет, может ли пользователь редактировать содержимое элемента управления. Например, текстовое поле ReadOnly нельзя редактировать, но вы можете щелкнуть по нему, выбрать текст, содержащийся в нем, и т.д.

Ответ 4

Некоторые элементы управления, например, кнопки, могут быть включены или отключены. Отключенное управление даст визуальную индикацию того, что он не может взаимодействовать прямо сейчас (обычно путем седеления/выцветания). Другие также могут быть доступны только для чтения, поскольку они могут каким-то образом взаимодействовать, но не редактироваться. Например, управление вверх-вниз часто происходит так, что означает, что вы можете нажимать кнопки, чтобы изменить значение, но не редактировать его путем обычного ввода. (Также возможно иметь элементы управления, с которыми вы никогда не сможете взаимодействовать, но которые по-прежнему полезны для отключения, ярлык все еще может быть выделен серым цветом как часть указания на то, что вся область графического интерфейса не используется в настоящее время, что является более приятный визуальный эффект, чем просто изменение элементов управления, которые являются интерактивными.)

Практически всегда, когда отключается, подразумевается, что элемент управления также доступен только для чтения. Я видел несколько случаев, когда это было неверно, и это всегда казалось скорее ошибкой, чем чем-либо еще для меня. Лучше рассматривать состояния как представляющие значение трех состояний, когда одно из состояний не используется для некоторых элементов управления.

Ответ 5

Если вы берете текстовое поле с полосой прокрутки в качестве примера, ReadOnly не позволяет пользователю редактировать текст, но полоса прокрутки по-прежнему активна (подумайте о лицензиях в программах установки). Enabled = false приведет к отключению всего элемента управления, а не только области редактирования текста.

Ответ 6

Кроме того, я читаю здесь, что если текстовое поле отмечено Enabled = "false", его значение не сохраняется в ViewState через постбэки.