我有一个奇怪的问题,我不太确定如何修复或解决问题。我正在编写一个迷你文本编辑器风格的应用程序 - RichTextBox编辑器。在没有Application.Idle的情况下在C#Windows窗体应用程序中检测空闲时间
我需要在选择更改之后进行一些复杂的解析 - 更新位置,选择文本和有关区域周围文本上下文的各种其他位。
由于需要一点处理,如果用户使用箭头键滚动,每次选择更改时都不希望它被触发。我想过使用Application.Idle,但它经常触发。我尝试了一个计时器,但在选择箭头仍在移动时可能会触发。
我想的是一个倒数计时器排序实用程序的,将每次的RichTextBox SelectionChanged事件触发,那么当计时器命中500 ms或1000 毫秒它将执行复杂处理的运行复位定时器。
这听起来像个好主意吗?
你什么时候需要做这个处理?什么时候被选择或者甚至当光标位置改变时(SelectionLength == 0)? – tanascius 2010-06-10 11:54:54