我有一个奇怪的问题,我不太确定如何修复或解决。我正在编写一个迷你文本编辑器风格的应用程序 - RichTextBox 编辑器。
在选择更改后,我需要进行一些复杂的解析——更新位置、选择文本和有关区域周围文本上下文的各种其他位。
由于需要一些处理,如果用户使用箭头键滚动,我不希望每次选择更改时都会触发它。我曾想过使用 Application.Idle,但它触发得太频繁了。我尝试了一个计时器,但它可能会在选择箭头仍在移动时触发。
我在想的是倒数计时器之类的实用程序,它会在每次触发 RichTextBox SelectionChanged 事件时重置计时器,然后当计时器达到 500 毫秒或 1000 毫秒时,它将执行复杂的处理运行。
这听起来是个好主意吗?