0

我有 textBox1 这是只读的。我正在努力改变

textBox1.ForeColor = Color.Red;

但它不起作用。任何想法 ?

4

6 回答 6

4

当您将TextBox控件的属性设置为ReadOnlytrue 时,文本变为灰色。这是默认行为。

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

于 2013-02-20T15:17:08.690 回答
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 属性总是使控件变灰。这是默认行为。

于 2013-02-20T15:23:53.213 回答
0

您可以对只读文本框做的事情是(首先将其更改为读/写)您可以覆盖所述KeyPress()事件TextBox并忽略从那里开始的所有输入。

于 2013-02-20T15:18:46.960 回答
0

这应该可以帮助您:

textBox1.BackColor = Color.FromKnownColor(KnownColor.Control);
textBox1.ForeColor = Color.Red;
textBox1.ReadOnly = true;
于 2014-06-16T13:15:37.063 回答
0

使用 RichTextBox。只读时,继续以彩色显示文本

于 2020-07-16T10:05:22.457 回答
-1

这应该可以帮助你。

textboxname.ForeColor = Color.FromKnownColor(KnownColor.selectanycolor);
于 2016-06-05T06:06:47.657 回答