У меня странная проблема, которую я не очень уверен, как исправить или решить.Я пишу приложение в стиле мини-текстового редактора - редактор RichTextBox.
Мне нужно выполнить сложный анализ после изменений выделения - обновить позицию, выделенный текст и различные другие сведения о контексте текста вокруг области..
Поскольку требуется немного обработки, я не хочу, чтобы он запускался каждый раз, когда изменяется выбор, если пользователь прокручивает свои клавиши со стрелками.Я думал об использовании Application.Idle, но оно срабатывает слишком регулярно.Я попробовал таймер, но он может сработать, пока стрелки выбора все еще движутся.
Я думал о утилите с таймером обратного отсчета, которая будет сбрасывать таймер каждый раз, когда срабатывает событие RichTextBox SelectionChanged, затем, когдатаймер достигает 500 мс или 1000 мс, он выполняет сложные запуски обработки.
Звучит ли это как хорошая идея?