Re: Printing to a set size?
I'm not 100% sure whether it will answer your question but you might want to visit the VB.NET CodeBank forum and check out Merrion's beginner's guide to printing. The code is in VB but the principles are all language independent. Windows Forms is all about screen pixels so your on-screen drawing will look different on monitors with different DPIs. As such, you'd have to do a bit of calculating with the printer's DPI when it comes time to print.
You may also want to look into using WPF instead of WinForms. WPF uses device-independent pixels, so making something look the same on different monitors is much easier. It also uses a completely different printing path, based on XPS. For more info on that, see the System.Printing namespace.