2010-10-20 31 views
5

Estoy creando una aplicación de edición de código C++ utilizando VB.NET. Me gustaría cambiar el color de las palabras clave a medida que el usuario lo escribe. También estoy buscando una manera de resaltar algunas líneas del código.Cambiar el color de fondo y el color de fondo del texto en un cuadro de texto

¿Hay alguna manera de cambiar el color anterior y el posterior de un texto dentro de un cuadro de texto o un cuadro de texto enriquecido?

+1

No es posible, se requiere RichTextBox siempre que conserve los controles estándar. –

+0

¿Es esto WinForms, WPF, ASP.NET? –

Respuesta

5

que no se sabe muy bien lo que quiere hacer así que aquí están algunas opciones.

Si quieres un tutorial paso a paso sobre cómo escribir un control resaltado de sintaxis, puede leer estos artículos:

  1. Syntax Highlighting in RichTextBox Part 1 y Part 2.
  2. Syntax Highlighting in RichTextBox using C#


Para un control básico resaltado de sintaxis escrita en VB.NET, ver este artículo: Color Syntax Control (VB.NET).


Hay dos opciones muy buenas si desea un control de resaltado de sintaxis en toda regla. Estos son:

  1. ScintillaNET para WinForms y;
  2. AvalonEdit para WPF.
    • Hay un tutorial en Using AvalonEdit en CodeProject así que asegúrese de verificarlo también.
5

Sí, use RTF en el control richtextbox.

De http://www.biblioscape.com/rtf15_spec.htm

{\f1\cb1\cf2 This is colored text. The background is color 
1 and the foreground is color 2.} 
+0

¿Cómo lo hacemos en C#/VB.NET? –

+0

@Arjun Via .Rtf ver http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.rtf.aspx – stefan

1

Por desgracia, las propiedades de primer plano y fondo normales de un cuadro de texto no pueden ayudar, y hay que utilizar texto enriquecido y formato que manualmente (a través de colorear texto y algoritmos que destacan).

Cuestiones relacionadas