Я создаю функцию, которая принимает RichTextBox и имеет доступ к списку ключевых слов и "блогов". Мне нужно выделить любые ключевые слова и слова, которые я нахожу в RichTextBox , пока пользователь печатает, что означает, что функция вызывается каждый раз, когда вы отпускаете ключ редактирования.
Я написал эту функцию, но слова и курсор в поле мерцают слишком много для удобства.
Я обнаружил решение - отключить способность RichTextBox перерисовывать себя во время редактирования и форматирования его текста. Тем не менее, единственный способ, которым я это знаю, - переопределить функцию "WndProc" и перехватить (то, что я собирался собирать), это сообщение перерисовывается следующим образом:
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (m.Msg == 0x00f) {
if (paint)
base.WndProc(ref m);
else
m.Result = IntPtr.Zero;
}
else
base.WndProc(ref m);
}
Если для boolean 'paint' установлено значение false, перед тем, как я начну выделять и вернусь, когда закончите. Но, как я уже сказал, функция, которую я делаю, должна принимать RichTextBox; Я не могу использовать подкласс.
Итак, есть ли способ отключить автоматическую перерисовку RichTextBox 'извне?'