Сделать текстовое поле недоступным для редактирования


Я хочу сделать некоторые TextBoxes на моей форме не редактируется, но я хочу text чтобы быть ясным (черный не серый), и именно поэтому я не хочу использовать

myTextBox.Enabled = false;

как-то я хочу, чтобы он был отключен, но с не серым передним цветом.

есть ли у кого-нибудь ключ?

6 53

6 ответов:

С помощью TextBox.ReadOnly свойства

TextBox.ReadOnly = true;

для не серого фона вы можете изменить TextBox.BackColor свойство SystemColors.Window цвета

textBox.BackColor = System.Drawing.SystemColors.Window;

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

использовать только для чтения собственность в TextBox.

myTextBox.ReadOnly = true;

Но Помните: TextBoxBase.Свойство Только Для Чтения

Если это свойство имеет значение true, содержимое элемента управления не может быть изменен пользователем во время выполнения. Если это свойство установлено в true, вы можете по-прежнему установить значение свойства Text в коде. Вы можете использовать эту функцию вместо отключения управления с помощью Включен свойство, позволяющее копировать содержимое и подсказки показанный.

вы можете попробовать использовать:

textBox.ReadOnly = true;
textBox.BackColor = System.Drawing.SystemColors.Window;

последняя строка необходима только в том случае, если вы хотите не серый цвет фона.

Если вы хотите TextBox нередактируемом вы должны сделать это только для чтения.

просто установите в XAML:

        <TextBox IsReadOnly="True" Style="{x:Null}" />

Так что текст не будет затемнено.

Если вы хотите сделать это с помощью XAML установите свойство isReadOnly до true.