QueryPageSettingsEventArgs Class


Provides data for the QueryPageSettings event.

Namespace:   System.Drawing.Printing
Assembly:  System.Drawing (in System.Drawing.dll)


public ref class QueryPageSettingsEventArgs : PrintEventArgs


Initializes a new instance of the QueryPageSettingsEventArgs class.


Gets or sets a value indicating whether the event should be canceled.(Inherited from CancelEventArgs.)


Gets or sets the page settings for the page to be printed.


Returns PrintToFile in all cases.(Inherited from PrintEventArgs.)


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Serves as the default hash function. (Inherited from Object.)


Gets the Type of the current instance.(Inherited from Object.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Returns a string that represents the current object.(Inherited from Object.)

It is possible to print each page of a document using different page settings. You set page settings by modifying individual properties of the PageSettings property or by setting the property to a PageSettings. The print job can also be canceled by setting the Cancel property to true.

The following code example prints a document with the first page in color, if the printer supports it. The example assumes that a PrintDocument variable named printDoc has been created, and the PrintPage and QueryPageSettings events are handled.

Use the System.Drawing and System.Drawing.Printing namespaces for this example.

   void MyButtonPrint_OnClick( Object^ sender, System::EventArgs^ e )
      // Set the printer name and ensure it is valid. If not, provide a message to the user.
      printDoc->PrinterSettings->PrinterName = "\\mynetworkprinter";
      if ( printDoc->PrinterSettings->IsValid )
         // If the printer supports printing in color, then override the printer's default behavior.
         if ( printDoc->PrinterSettings->SupportsColor )
            // Set the page default's to not print in color.
            printDoc->DefaultPageSettings->Color = false;

         // Provide a friendly name, set the page number, and print the document.
         printDoc->DocumentName = "My Presentation";
         currentPageNumber = 1;
         MessageBox::Show( "Printer is not valid" );

   void MyPrintQueryPageSettingsEvent( Object^ sender, QueryPageSettingsEventArgs^ e )
      // Determines if the printer supports printing in color.
      if ( printDoc->PrinterSettings->SupportsColor )
         // If the printer supports color printing, use color.
         if ( currentPageNumber == 1 )
            e->PageSettings->Color = true;

.NET Framework
Available since 1.1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top