在Richtextbox Textchanged事件之后激发事件

本文关键字:事件 之后 Textchanged Richtextbox | 更新日期: 2023-09-27 18:29:12

我正在编写一个lexer,我还希望我的文本编辑器更改关键字的颜色。打字时!像VS和!但问题是RichTextBox的TextChanged事件触发BEFOR将文本添加到其中。

是否有任何预定义的事件在将文本添加到richTextBox后触发write?如果没有,我怎么能创建一个火写后输入文本!

PS:我正在写一个WPF项目!

private void rtxMain_TextChanged (object sender, TextChangedEventsArgs e) {
   visual.getLastWord();
}

在Richtextbox Textchanged事件之后激发事件

更改RichTextBox的文本后触发TextChnaged事件。以下是一个工作示例:
private void richtextBox1_TextChanged(object sender, TextChangedEventArgs e)
{
    string text = new TextRange(richtextBox1.Document.ContentStart, richtextBox1.Document.ContentEnd).Text;
    MessageBox.Show(text);
}

无论我在richtextBox1中键入什么,它都会在MessageBox中显示完全相同的值。这意味着它在更改Text之后触发事件。

您可以使用keyUp事件,当键盘上的一个键被按下时,它将触发。

RichTextBox r = new RichTextBox();
r.KeyUp += (s, e) =>
{
    //your logic
};

你可能需要添加额外的逻辑来避免像shift这样的按键,这并不难做到,甚至可能没有必要。