PrintDocument.QueryPageSettings Ereignis

Definition

Tritt unmittelbar vor jedem PrintPage-Ereignis ein.

public event System.Drawing.Printing.QueryPageSettingsEventHandler QueryPageSettings;

Ereignistyp

Beispiele

Im folgenden Codebeispiel wird ein Dokument mit der ersten Seite in Farbe gedruckt, sofern dies vom Drucker unterstützt wird. Das Beispiel erfordert, dass eine PrintDocument Variable mit dem Namen printDoc erstellt wurde und die PrintPage Ereignisse und QueryPageSettings behandelt werden. Die currentPageNumber Variable wird erhöht, nachdem jede Seite im PrintPage -Ereignis gedruckt wurde, das nicht angezeigt wird.

Verwenden Sie die System.Drawing Namespaces und System.Drawing.Printing für dieses Beispiel.


private 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;
        printDoc.Print();
    }
    else {
        MessageBox.Show("Printer is not valid");
    }
}

private 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;
        }
    }    
}

Hinweise

Es ist möglich, jede Seite eines Dokuments mit unterschiedlichen Seiteneinstellungen zu drucken. Sie legen Seiteneinstellungen fest, indem Sie einzelne Eigenschaften der QueryPageSettingsEventArgs.PageSettings -Eigenschaft ändern oder die -Eigenschaft auf festlegen PageSettings. Änderungen, die PageSettings am vorgenommen werden, betreffen nur die aktuelle Seite, nicht die Standardseiteneinstellungen des Dokuments. Der Druckauftrag kann auch abgebrochen werden, indem die Cancel -Eigenschaft auf true für festgelegt QueryPageSettingsEventArgswird.

Um das Ereignis Ihrem Ereignishandler zuzuordnen, fügen Sie dem Ereignis eine instance des QueryPageSettingsEventHandler Delegaten hinzu. Der Ereignishandler wird immer dann aufgerufen, wenn das Ereignis auftritt. Weitere Informationen zum Behandeln von Ereignissen mit Delegaten finden Sie unter Behandeln und Auslösen von Ereignissen.

Wenn Sie das QueryPageSettings-Ereignis verwenden, um die Druckereinstellungen zu ändern, verbessert sich die Leistung des PrintPreviewDialog-Steuerelements nicht, selbst wenn ein Optimierungskonfigurationsschalter festgelegt ist. Weitere Informationen finden Sie unter Übersicht über das PrintPreviewDialog-Steuerelement.

Gilt für:

Weitere Informationen