Changing a Richtextbox caret
This old bit of code from 2004 is an unfinished (i.e. not that pretty to read) demo project for changing the caret in a rich text box. It was the beginnings of a kind of console host for C#.
It shows a telnet style shell, a block caret, tab completion and a few other features. Type “prog” and then hit tab to see an example of the tab completion.