PrintDialog in C#

A PrintDialog control is used to open the Windows Print Dialog and let user select the printer, set printer and paper properties and print a file. A typical Open File Dialog looks like Figure 1 where you select a printer from available printers, set printer properties, set print range, number of pages and copies and so on. Clicking on OK button sends the document to the printer.

Figure 1

Creating a PrintDialog

We can create a PrintDialog at design-time as well as at run-time.


To create a PrintDialog control at design-time, you simply drag and drop a PrintDialog control from Toolbox to a Form in Visual Studio. After you drag and drop a PrintDialog on a Form, the PrintDialog looks like Figure 2.

Figure 2


Creating a PrintDialog control at run-time is simple. First step is to create an instance of PrintDialog class and then call the ShowDialog method. The following code snippet creates a PrintDialog control.

PrintDialog PrintDialog1 = new PrintDialog();


Printing Documents

PrintDocument object represents a document to be printed. Once a PrintDocument is created, we can set the Document property of PrintDialog as this document. After that we can also set other properties.  The following code snippet creates a PrintDialog and sends some text to a printer.

private void PrintButton_Click(object sender, EventArgs e)


    PrintDialog printDlg = new PrintDialog();

    PrintDocument printDoc = new PrintDocument();

    printDoc.DocumentName = "Print Document";

    printDlg.Document = printDoc;

    printDlg.AllowSelection = true;

    printDlg.AllowSomePages = true;

    //Call ShowDialog

    if (printDlg.ShowDialog() == DialogResult.OK)





More Readings

I do not want to duplicate the work but here are various articles on Printing.



A PrintDialog control allows users to launch Windows Open File Dialog and let them select files. In this article, we discussed how to use a Windows Open File Dialog and set its properties in a Windows Forms application.