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 |
|
|
e394134c-0886-4517-bd8d-edc4a3749eb5 |
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.
-
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);