Как к выделению синтаксиса в RichTextBox [C#]?

IntelliJ IDEA 15 & amp; 2016

  1. Файл> Структура проекта ... File > Project Structure [/g1] или нажмите Ctrl + Alt + Shift + S
  2. Настройки проекта> Модули> Зависимости> "+ "sign> JARs или каталоги ... Modules > Dependencies > JAR or directories [/g2]
  3. Выберите файл jar и нажмите OK, затем нажмите другую кнопку OK, чтобы подтвердить enter image description here [/g3] enter image description here [/g4]
  4. Вы можете просмотреть файл jar в папке «Внешние библиотеки» enter image description here [/g5]
17
задан Mohit Deshpande 8 November 2009 в 23:18
поделиться

6 ответов

12
ответ дан 30 November 2019 в 13:27
поделиться

Вы можете изменить шрифт выбранных слов в поле richtextbox. Посмотрите на свойства Select и SelectedFont элемента управления.

Но, по сути, вам нужно перебрать слова, проверить, присутствует ли слово в ваших ключевых словах, а затем изменить шрифт, используя вышеупомянутые свойства.

2
ответ дан 30 November 2019 в 13:27
поделиться

Не совсем ответ на ваш вопрос, но вы смотрели на компонент текстового редактора из SharpDevelop ? Он довольно легкий (< 200 КБ IIRC), может быть легко встроен в приложения WinForms и имеет встроенную подсветку синтаксиса для нескольких языков.

В противном случае, вы можете посмотреть эту страницу CodeProject . Он форматирует RTF при вводе текста, что не очень эффективно для больших файлов, и он содержит несколько жутких catch (Exception) { } блоков, поэтому я не уверен, буду ли я использовать его в жизненно важном приложении, но это определенно хорошая отправная точка, чтобы увидеть, как это можно сделать.

1
ответ дан 30 November 2019 в 13:27
поделиться

Элемент управления Scintilla - отличный редактор исходного кода, который включает подсветку синтаксиса среди целого ряда других функций. Вы можете встроить его в свое собственное приложение, и имеется доступная .NET-оболочка .

В Scintilla вы можете указать ключевые слова, и затем она будет применять подсветку синтаксиса по мере ввода.

5
ответ дан 30 November 2019 в 13:27
поделиться

Используете ли вы WinForms или WPF?

Если WPF, вы могли бы взглянуть на AvalonEdit . Он бесплатный и с открытым исходным кодом, и он используется в SharpDevelop (IDE с открытым исходным кодом).

2
ответ дан 30 November 2019 в 13:27
поделиться

Подсветка синтаксиса - непростая задача для эффективного выполнения. Многие решения, которые вы можете найти (например, с модификацией RTF), являются одноразовыми. Если вы хотите выделять и снимать выделение со слов на лету во время редактирования, ваш код должен быть готов к этому. Я бы не стал изобретать велосипед и использовать ICSharp.TextEditor или что-то подобное для решения вашей проблемы.

Многие решения, которые вы можете найти (например, с модификацией RTF), являются одноразовыми. Если вы хотите выделять и снимать выделение слов на лету во время редактирования, ваш код должен быть готов к этому. Я бы не стал изобретать велосипед и использовать ICSharp.TextEditor или что-то подобное для решения вашей проблемы.

Многие решения, которые вы можете найти (например, с модификацией RTF), являются одноразовыми. Если вы хотите выделять и снимать выделение со слов на лету во время редактирования, ваш код должен быть готов к этому. Я бы не стал изобретать велосипед и использовать ICSharp.TextEditor или что-то подобное для решения вашей проблемы.

1
ответ дан 30 November 2019 в 13:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: