Где я могу найти элемент управления для WinForms, который выделит исходный код, вставленный в него? Я хотел бы один, у которого есть поддержка подсветки синтаксиса для разных языков, но если он работает только с С#, мне тоже будет хорошо.
Текстовое поле /richtextbox с подсветкой синтаксиса? [С#]
Ответ 1
Scintilla.NET - это то, что вы ищете
Ответ 2
Как альтернативы Open Source, посмотрите:
- dotNetFireball
- ICSharpCode.TextEditor от SharpDevelop
Ответ 3
Совсем недавно нашел хороший элемент управления из codeproject Fast Colored TextBox для подсветки синтаксиса.
Единственная проблема с использованием Rich Text Box в качестве маркера - это низкая производительность при раскраске, в тех случаях, когда размер документа большой. Для документов среднего размера эта проблема может быть устранена с помощью отложенной подсветки.
Ответ 4
Добавьте ссылку на сборку ICSharpCode.TextEditor для проекта, выберите сборку и элементы управления для Visual Studio Toolbox. После этого вы можете поместить элемент управления в форму. Удивительно, но вы не увидите Property, чтобы выбрать схему выделения синтаксиса. Вместо этого вы должны использовать метод SetHighlighting. Набор параметров String выделяет схему из списка доступных схем. Эти схемы встроены в элемент управления.
Как использовать, изменять схемы и загружать образцы, посмотрите следующую статью
Ответ 5
Если вы готовы заплатить за контроль, я настоятельно рекомендую этот: QWhale Syntax Edit. Он получил массу функций, поставляется с исходным кодом и поддерживает множество языков. Я сам использую его для С#, VB.NET, SQL (MS и Oracle), и он получил все, что предоставляет VS.
Ответ 6
Проверьте элемент управления AvalonEdit. Существует хорошая статья в CodeProject, объясняющая, как ее использовать.
Ответ 7
Не уверен, есть ли какое-либо из решений без третьей стороны.
Но вы посмотрели на Actipro SyntaxEditor. LinqPad, инструмент ubercool linq использует его для подсветки синтаксиса и intellisense.
Ответ 8
вы можете попробовать это http://www.codeproject.com/KB/edit/SyntaxHighlighting.aspx