C # WindowsForms RichTextBox Форматирование текста с помощью Select в больших текстах

Небольшое предисловие: я новичок в C # и в программировании приложений в целом.

Так что я не хочу писать редактор кода, хотя ничего особенного. Я пытаюсь добиться подсветки синтаксиса с помощью RichTextBox.SelectionColor, как это было предложено здесь, однако мне неприятно, что на самом деле можно увидеть, как текст выбирается в текстовом поле и что экран текстового поля следует за выделением ( прокручивает текст до текущего выделения). Проект выполняется через WindowsForms, и я попробовал: http://blogs.microsoft.co.il/blogs/tamir/archive/2006/12/14/RichTextBox-syntax-highlighting.aspx, который, очевидно, использует WPF, но производительность на этом довольно плохо. Я бы также предпочел не переписывать то, что у меня есть для WPF.

Вы не поверите, но я искал это и ничего не нашел.

Итак, я спрашиваю: есть ли какая-нибудь команда или настройка, чтобы отключить это поведение?


person user1542465    schedule 21.07.2012    source источник


Ответы (1)


Создать хорошо работающий редактор кода довольно сложно. Для достижения наилучших результатов обычно нужно написать новый элемент управления с нуля. Я предлагаю использовать этот элемент управления, если вы можете, командой SharpDevelop.

http://www.codeproject.com/Articles/30936/Using-ICSharpCode-TextEditor

В вашем случае есть способ заморозить обновление текстового поля, пока вы меняете цвет фрагментов текста с помощью функции Windows API, LockWindowUpdate.

person IntelOrca    schedule 21.07.2012
comment
Хорошо, похоже, я нашел подходящее решение: weblogs.asp. net / JDanforth / archive / 2004/03/12 / 88458.aspx обеспечивает именно то, что я хочу, производительность, конечно, все еще низкая, но я сейчас рассмотрю это. Огромное спасибо. - person user1542465; 21.07.2012