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)


arrow_upward
1
arrow_downward

Создать хорошо работающий редактор кода довольно сложно. Для достижения наилучших результатов обычно нужно написать новый элемент управления с нуля. Я предлагаю использовать этот элемент управления, если вы можете, командой 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