You can provide Print Preview at different scales. First, make your printing routine take on the object it should draw as a parameter. Then, for printing, pass the routine the Printer object. For preview, pass the routine a hidden PictureBox. Then use PaintPicture to copy the hidden picture to a visible PictureBox at the desired scale. Drawing at full scale on the hidden PictureBox allows you to scale fonts and other graphics without distortion.