C# RichTextBox更改颜色的文本
我有一些基本的文本输入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
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;}不起任何作用。。。。