Hi,
Preraks answer is very good, but the CP article has some limitations about the controls that can be printed. Just to add one simple way. You can create a bitmap from any control (e.g. your form) by using this code:
Bitmap bmp = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(bmp, Rectangle.FromLTRB(0, 0, this.Width, this.Height));
After creating the bitmap you can do anything you want with it - so it should be quite easy to send it to the printer.
I hope it helps!