Skip to content

Latest commit

 

History

History
86 lines (70 loc) · 4.63 KB

how-to-display-print-preview-in-windows-forms-applications.md

File metadata and controls

86 lines (70 loc) · 4.63 KB
title description titleSuffix ms.date dev_langs helpviewer_keywords ms.assetid
Display Print Preview in Windows Forms apps
Learn how to display Print Preview in Windows forms apps to enable users to display a document before it is printed.
03/30/2017
csharp
vb
cpp
print preview [Windows Forms], displaying
printing [Windows Forms], print preview
examples [Windows Forms], print preview
e394134c-0886-4517-bd8d-edc4a3749eb5

How to: Display Print Preview in Windows Forms Applications

You can use the xref:System.Windows.Forms.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 xref:System.Drawing.Printing.PrintDocument class; this is the document to be printed. For more information about using print preview with the xref:System.Drawing.Printing.PrintDocument component, see How to: Print in Windows Forms Using Print Preview.

Note

To use the xref:System.Windows.Forms.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 xref:System.Windows.Forms.PrintPreviewDialog component determines how a document will look when printed.

The xref:System.Windows.Forms.PrintPreviewDialog control uses the xref:System.Drawing.Printing.PrinterSettings class. Additionally, the xref:System.Windows.Forms.PrintPreviewDialog control uses the xref:System.Drawing.Printing.PageSettings class, just as the xref:System.Windows.Forms.PrintPreviewDialog component does. The print document specified in the xref:System.Windows.Forms.PrintPreviewDialog control's xref:System.Windows.Forms.PrintPreviewControl.Document%2A property refers to instances of both the xref:System.Drawing.Printing.PrinterSettings and xref:System.Drawing.Printing.PageSettings classes, and these are used to render the document in the preview window.

To view pages using the PrintPreviewDialog control

  • Use the xref:System.Windows.Forms.CommonDialog.ShowDialog%2A method to display the dialog box, specifying the xref:System.Drawing.Printing.PrintDocument to use.

    In the following code example, the xref:System.Windows.Forms.Button control's xref:System.Windows.Forms.Control.Click event handler opens an instance of the xref:System.Windows.Forms.PrintPreviewDialog control. The print document is specified in the xref:System.Windows.Forms.PrintDialog.Document%2A property. In the example below, no print document is specified.

    The example requires that your form has a xref:System.Windows.Forms.Button control, a xref:System.Drawing.Printing.PrintDocument component named myDocument, and a xref:System.Windows.Forms.PrintPreviewDialog control.

    Private Sub Button1_Click(ByVal sender As System.Object, _  
       ByVal e As System.EventArgs) Handles Button1.Click  
       ' The print document 'myDocument' used below  
       ' is merely for an example.  
       ' You will have to specify your own print document.  
       PrintPreviewDialog1.Document = myDocument  
       PrintPreviewDialog1.ShowDialog()  
    End Sub  
    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;  
       printPreviewDialog1.ShowDialog();  
    }  
    private:  
       void button1_Click(System::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;  
          printPreviewDialog1->ShowDialog();  
       }  

    (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);  
    this->button1->Click += gcnew  
       System::EventHandler(this, &Form1::button1_Click);  

See also