C# 从rich textbox获取更改的文本

C# 从rich textbox获取更改的文本,c#,C#,因此,我正在寻找获得已更改文本的最佳方法,或者使用keyPressed事件,最好使用TextChanged事件。我要找的是已经改变的东西。我有一个程序,可以将事件发送到另一个窗口,并用颜色填充富文本框。我使用按键事件尝试了以下操作: private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e) { char keyChar = (char) e.KeyChar; if (Char.IsLett

因此,我正在寻找获得已更改文本的最佳方法,或者使用keyPressed事件,最好使用TextChanged事件。我要找的是已经改变的东西。我有一个程序,可以将事件发送到另一个窗口,并用颜色填充富文本框。我使用按键事件尝试了以下操作:

 private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
 {
     char keyChar = (char) e.KeyChar;
     if (Char.IsLetterOrDigit(keyChar) || Char.IsSeparator(keyChar) 
        || Char.IsWhiteSpace(keyChar))
     {
         string changedText = keyChar.ToString();
         VinduEventArgs ve = new VinduEventArgs(colorDialog1.Color, changedText);
         VinduEndret(this, ve);
     }
 }

但它并不真正起作用,因为它有bug,没有显示所有迹象,而且似乎是一个糟糕的解决方案。

为什么不使用colordialog?为什么不将编辑器文本内容与以前的文本内容和实际文本内容进行比较?然后可以基于差异发送事件。我确实使用colordialog,但我需要在eventargs中发送更改的文本。我也试过,但它同样有问题。