我有textBox1是只读的。我想改变
textBox1.ForeColor = Color.Red;
但它不起作用。有什么想法吗?
答案 0 :(得分:4)
当您将TextBox
控件的属性设置为ReadOnly
时,文本将变为灰色。这是默认行为。
如果您需要以红色显示它,则不应设置ReadOnly
属性,而应手动处理TextChanged
事件并保持旧值不变。但我不推荐它。
答案 1 :(得分: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属性始终将控件灰显。这是默认行为。
答案 2 :(得分:0)
您可以对只读文本框执行的操作是(首先将其更改为读/写)您可以覆盖所述KeyPress()
的{{1}}事件,并忽略此处的所有输入。
答案 3 :(得分:0)
这可以帮到你:
textBox1.BackColor = Color.FromKnownColor(KnownColor.Control);
textBox1.ForeColor = Color.Red;
textBox1.ReadOnly = true;
答案 4 :(得分:0)
使用RichTextBox。只读时,它将继续以彩色显示文本
答案 5 :(得分:-1)
这应该对你有帮助。
textboxname.ForeColor = Color.FromKnownColor(KnownColor.selectanycolor);