Export (0) Print
Expand All

How to: Display Print Preview in Windows Forms Applications

You can use the PrintPreviewDialog control to enable users to display a document, often before it is to be printed.

To do this, you need to specify an instance of the PrintDocument class; this is the document to be printed. For more information about using print preview with the PrintDocument component, see How to: Print in Windows Forms Using Print Preview.

Note Note

To use the PrintPreviewDialog control at run time, users must have a printer installed on their computer, either locally or through a network, as this is partly how the PrintPreviewDialog component determines how a document will look when printed.

The PrintPreviewDialog control uses the PrinterSettings class. Additionally, the PrintPreviewDialog control uses the PageSettings class, just as the PrintPreviewDialog component does. The print document specified in the PrintPreviewDialog control's Document property refers to instances of both the PrinterSettings and PageSettings classes, and these are used to render the document in the preview window.

To view pages using the PrintPreviewDialog control

  • Use the ShowDialog method to display the dialog box, specifying the PrintDocument to use.

    In the following code example, the Button control's Click event handler opens an instance of the PrintPreviewDialog control. The print document is specified in the Document property. In the example below, no print document is specified.

    The example requires that your form has a Button control, a PrintDocument component namedmyDocument, and a PrintPreviewDialog control.

    private void button1_Click(object sender, System.EventArgs e)
       // The print document 'myDocument' used below
       // is merely for an example.
       // You will have to specify your own print document.
       printPreviewDialog1.Document = myDocument;

    (Visual C#, Visual C++) Place the following code in the form's constructor to register the event handler.

    this.button1.Click += new System.EventHandler(this.button1_Click);
© 2015 Microsoft