Changing the forecolor and backcolor of text in a textbox
-
09-10-2019 - |
Question
I'm making a C++ code editor application using VB.NET. I'd like to change the color of the keywords as the user types it. Also I'm looking for a way to highlight some lines of the code.
Is there a way to change the forecolor and backcolour of a piece of text inside a textbox or a rich textbox?
Solution
I do not really know what you want to do so here are some options.
If you want a step by step tutorial on how to write a syntax highlighting control, you can read these articles:
For a basic syntax highlighting control written in VB.NET, see this article: Color Syntax Control (VB.NET).
There are two very good options if you want a fully-fledged syntax highlighting control. These are:
- ScintillaNET for WinForms and;
- AvalonEdit for WPF.
- There is a tutorial on Using AvalonEdit on CodeProject so be sure to check that out as well.
OTHER TIPS
Yes, use RTF in the richtextbox control.
From 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.}
Unfortunately, the normal foreground and background properties of a textbox cannot help, and you need to use rich text and format that manually (through text coloring and highlighting algorithms).