我有 textBox1 这是只读的。我正在努力改变
textBox1.ForeColor = Color.Red;
但它不起作用。任何想法 ?
当您将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 属性总是使控件变灰。这是默认行为。
您可以对只读文本框做的事情是(首先将其更改为读/写)您可以覆盖所述KeyPress()
事件TextBox
并忽略从那里开始的所有输入。
这应该可以帮助您:
textBox1.BackColor = Color.FromKnownColor(KnownColor.Control);
textBox1.ForeColor = Color.Red;
textBox1.ReadOnly = true;
使用 RichTextBox。只读时,继续以彩色显示文本
这应该可以帮助你。
textboxname.ForeColor = Color.FromKnownColor(KnownColor.selectanycolor);