¿Un cuadro de texto / richtextbox que tiene resaltado de syntax?

¿Dónde puedo encontrar un control para WinForms que resalte el código fuente pegado en él? Me gustaría uno que tenga soporte de resaltado de syntax para muchos idiomas diferentes, pero si solo funciona con C #, estaría bien con eso también.

Scintilla.NET es probablemente lo que estás buscando

Como alternativas de código abierto, eche un vistazo a:

  • dotNetFireball
  • ICSharpCode.TextEditor de SharpDevelop

Recientemente, encontré un buen control del codeproject Fast Colored TextBox para resaltar la syntax .

El único problema con el uso del cuadro de texto enriquecido como resaltador es el rendimiento lento en la coloración, en los casos en que el tamaño del documento es grande. Para documentos de tamaño mediano, este problema se puede solucionar mediante resaltado diferido.

Agregue referencia de ensamblado ICSharpCode.TextEditor a un proyecto, elija ensamblaje y controles para Visual Studio Toolbox. Después de eso, puedes poner el control al formulario. Sorprendentemente, no verá Propiedad para elegir el esquema de resaltado de syntax. En lugar de esto, debes usar el método SetHighlighting. El conjunto de parámetros de cadena resalta el esquema de la lista de esquemas disponibles. Estos esquemas están integrados en el control.

Cómo usar, cambiar esquemas y descargar muestras, mira el siguiente artículo

Si está dispuesto a pagar por un control, recomiendo este: QWhale Syntax Edit . Tiene un montón de características, viene con código fuente y es compatible con muchos idiomas. Lo uso yo mismo para C #, VB.NET, SQL (MS y Oracle), y tiene todo lo que VS ofrece.

Mira el control AvalonEdit. Hay un buen artículo sobre CodeProject que explica cómo usarlo.

No estoy seguro de si hay alguna solución de fuera de la caja para terceros.

Pero, ¿ha mirado el componente Actipro SyntaxEditor ? LinqPad , la herramienta ubercool linq lo usa para resaltar la syntax e intellisense.