2013-02-20 2 views
0

У меня есть textBox1, который доступен только для чтения. Я пытаюсь изменитьизменить цвет текста только для чтения текстовое поле C#

textBox1.ForeColor = Color.Red; 

Но это не работает. Есть идеи ?

+0

Найдено этот вопрос http://stackoverflow.com/questions/276179/how-to-change-the-font-color-of-a-disabled-textbox, может быть то, что вы ищете. – Roise

ответ

4

Когда вы установили свойство элемента управления TextBox на ReadOnly true, текст станет серым. Это поведение по умолчанию.

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

+0

Просто интересно, почему бы вам не порекомендовать это? –

+0

@BrianSnow - Ну, потому что он, как правило, становится беспорядочным, если вы начинаете работать в коде, а не сворачиваете свой интерфейс и слабо связаны с логикой. – dutzu

+0

Лучшим подходом было бы иметь тексбокс с поведением, которое вы хотите как настраиваемый элемент управления (в случае, если вы собираетесь его повторно использовать) – dutzu

0

Что вы можете сделать для текстового поля только для чтения (сначала измените его на чтение/запись), вы можете переопределить событие KeyPress() указанного TextBox и игнорировать все входы оттуда.

1

Попробуйте отменить мероприятие для KeyPress:

textBox1.Text = "Test"; 
textBox1.ForeColor = Color.Red; 
textBox1.KeyPress += new KeyPressEventHandler(textBox1_KeyPress); 

void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
e.Handled = true; 
} 

ReadOnly свойство всегда неактивны контроль вне. Это поведение по умолчанию.

0

Это должно помочь вам:

textBox1.BackColor = Color.FromKnownColor(KnownColor.Control); 
textBox1.ForeColor = Color.Red; 
textBox1.ReadOnly = true; 
-1

Это должно помочь вам.

textboxname.ForeColor = Color.FromKnownColor(KnownColor.selectanycolor); 
+0

Привет, добро пожаловать в SO. См. Наш справочный центр, особенно http://stackoverflow.com/help/how-to-answer. В частности, не могли бы вы отредактировать свой ответ, чтобы объяснить, как и почему это решает проблему афера? –

Смежные вопросы