我编写了一个应用程序,其中有一个黑色背景的富文本框。因此我必须用白色文字写在里面。通过将前景色设置为白色,一切正常。但是,如果我将 Word 中的黑色文本复制到我的文本框中,则该文本仍然是黑色的。
我需要更改该文本的颜色。所以这是我到目前为止所尝试的:(文本框名为 txtMessage)
txtMessage.ForeColor = Color.White;
不过,这对现有的黑色文本没有任何影响。
然后我尝试了这个:
private void txtMessage_TextChanged(object sender, EventArgs e)
{
int s = txtMessage.SelectionStart;
txtMessage.SelectAll();
txtMessage.SelectionColor = Color.White;
txtMessage.Select(s, 0);
}
它原则上工作正常,但当然每次我在文本框中编辑文本(不是在其中复制内容,而是简单地输入)时,整个事情都会随着我输入的每个字母执行而导致闪烁(我猜是因为所有内容都被选中并且然后每次都取消选择)。
那么有没有人建议如何优雅地解决这个问题?
非常感谢。