2010-10-20 7 views
5

Sto creando un'applicazione di editor di codice C++ utilizzando VB.NET. Mi piacerebbe cambiare il colore delle parole chiave mentre l'utente lo digita. Inoltre sto cercando un modo per evidenziare alcune linee del codice.Modifica del colore di sfondo e del colore del testo in una casella di testo

C'è un modo per cambiare il forecolor e backcolour di un pezzo di testo all'interno di una casella di testo o un ricco testo?

+1

Non possibile, è necessario RichTextBox purché si mantengano i controlli standard. –

+0

WinForms, WPF, ASP.NET? –

risposta

5

io non so davvero che cosa si vuole fare così qui sono alcune opzioni.

Se si desidera un tutorial passo passo su come scrivere un evidenziazione della sintassi di controllo, si possono leggere questi articoli:

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


Per una evidenziazione della sintassi di controllo di base scritta in VB.NET, si veda questo articolo: Color Syntax Control (VB.NET).


Ci sono due opzioni molto buone se si desidera un controllo di evidenziazione della sintassi completo. Questi sono:

  1. ScintillaNET per WinForms e;
  2. AvalonEdit per WPF.
    • Esiste un tutorial su Using AvalonEdit su CodeProject, quindi assicuratevi di verificarlo.
5

Sì, utilizzare RTF nel controllo richtextbox.

Da 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

Come lo facciamo in C#/VB.NET? –

+0

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

1

Purtroppo, le normali proprietà primo piano e sfondo di una casella di testo non può fare, ed è necessario utilizzare il testo ricco e formato manualmente (tramite colorazione del testo e gli algoritmi evidenziando).