C# RichTextBox更改颜色的文本

C# RichTextBox更改颜色的文本,c#,winforms,richtextbox,C#,Winforms,Richtextbox,我有一些基本的文本输入RichTextBox控件。我希望自定义它的方式,当用户将输入或粘贴一些文本,这将有不同的字体颜色比基本文本 private void richTextBox1_KeyDown(object sender, KeyEventArgs e) { RichTextBox richTextBox1 = sender as RichTextBox; richTextBox1.SelectionBackColor = Color.LightC

我有一些基本的文本输入RichTextBox控件。我希望自定义它的方式,当用户将输入或粘贴一些文本,这将有不同的字体颜色比基本文本

 private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
        RichTextBox richTextBox1 = sender as RichTextBox;
        richTextBox1.SelectionBackColor = Color.LightCoral;
    }
我在KeyDown事件中更改了SelectionBackColor属性,但当用户尝试仅复制部分基本文本时也会发生这种情况

 private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
        RichTextBox richTextBox1 = sender as RichTextBox;
        richTextBox1.SelectionBackColor = Color.LightCoral;
    }

使用
TextChanged
事件,而不是
KeyDown

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
    RichTextBox richTextBox1 = sender as RichTextBox;
    richTextBox1.SelectionBackColor = Color.LightCoral;
}
试试这个:

private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Control && e.KeyCode == Keys.V)
        {
            richTextBox1.SelectionBackColor = Color.LightCoral;

        }
        else
        {
            richTextBox1.SelectionBackColor = Color.White;
        }
    }

但是Textchanged事件正在我的系统中运行我已经检查过了。。。。。。。。。。一旦我发现粘贴文本不会调用选择事件,请检查:如果(e.Control&&e.KeyCode==Keys.V){richTextBox1.SelectionBackColor=Color.LightCoral;}不起任何作用。。。。