Arjun Vasudevan
Arjun Vasudevan

Reputation: 872

Changing the forecolor and backcolor of text in a textbox

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?

Upvotes: 5

Views: 1870

Answers (3)

Aaa
Aaa

Reputation: 1854

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).

Upvotes: 1

Alex Essilfie
Alex Essilfie

Reputation: 12613

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:

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


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:

  1. ScintillaNET for WinForms and;
  2. AvalonEdit for WPF.
    • There is a tutorial on Using AvalonEdit on CodeProject so be sure to check that out as well.

Upvotes: 5

stefan
stefan

Reputation: 2886

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.}

Upvotes: 5

Related Questions