How to: Determine Page Properties Using the PageSetupDialog Component


The PageSetupDialog component presents layout, paper size, and other page layout choices to the user for a document.

You need to specify an instance of the PrintDocument class—this is the document to be printed. Additionally, users must have a printer installed on their computer, either locally or through a network, as this is partly how the PageSetupDialog component determines the page formatting choices presented to the user.

An important aspect of working with the PageSetupDialog component is how it interacts with the PageSettings class. The PageSettings class is used to specify settings that modify the way a page will be printed, such as paper orientation, the size of the page, and the margins. Each of these settings is represented as a property of the PageSettings class. The PageSetupDialog class modifies these property values for a given instance of the PageSettings class that is associated with the document (and is represented as a DefaultPageSettings property).

To set page properties using the PageSetupDialog component

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

    In the example below, the Button control's Click event handler opens an instance of the PageSetupDialog component. An existing document is specified in the Document property, and its PageSettings.Color property is set to false.

    The example assumes your form has a Button control, a PrintDocument component namedmyDocument, and a PageSetupDialog component.

    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.
       pageSetupDialog1.Document = myDocument;
       // Sets the print document's color setting to false,
       // so that the page will not be printed in color.
       pageSetupDialog1.Document.DefaultPageSettings.Color = false;

    (Visual C# and 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);