更改只读文本框c#的文本颜色

本文关键字:文本 颜色 只读 | 更新日期: 2023-09-27 18:00:13

我有只读的textBox1。我正在尝试更改

textBox1.ForeColor = Color.Red;

但它不起作用。知道吗?

更改只读文本框c#的文本颜色

TextBox控件的属性设置为ReadOnly true时,文本将变灰。这是默认行为。

如果您要求以红色显示,则不应设置ReadOnly属性,而应手动处理TextChanged事件并保持旧值不变。但我不推荐。

尝试取消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属性总是使控件变灰。这是默认行为。

您可以对只读文本框执行的操作是(首先将其更改为读/写),您可以覆盖所述TextBoxKeyPress()事件,并忽略此后的所有输入。

这应该会对您有所帮助:

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

使用RichTextBox。当它是只读的时,它继续以的颜色显示文本

这应该会对您有所帮助。

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