You have to set up a RichTextBox with a WYSIWYG (What You See Is What You Get) display.
Quote:
The SelPrint method of the RichTextBox control does not allow a programmer to set the position of the output on the printer. In addition, the RichTextBox control does not provide a method for displaying its contents as they would show up on the printer. This article explains how to set up a RichTextBox with a WYSIWYG (What You See Is What You Get) display and then how to print it.
For more info (this is vb article, but you can easily convert it to C#):
http://support.microsoft.com/kb/146022[
^]
I hope this will help to you.