PrintDocument.QueryPageSettings Evento

Definizione

Si verifica immediatamente prima di ogni evento PrintPage.

C#
public event System.Drawing.Printing.QueryPageSettingsEventHandler QueryPageSettings;

Tipo evento

Esempio

Nell'esempio di codice seguente viene stampato un documento con la prima pagina a colori, se la stampante la supporta. L'esempio richiede che sia stata creata una PrintDocument variabile denominata printDoc e che gli PrintPage eventi e QueryPageSettings vengano gestiti. La currentPageNumber variabile viene incrementata dopo la stampa di ogni pagina nell'evento PrintPage , che non viene visualizzata.

Usare gli spazi dei System.Drawing nomi e System.Drawing.Printing per questo esempio.

C#

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

Commenti

È possibile stampare ogni pagina di un documento utilizzando impostazioni di pagina diverse. È possibile impostare le impostazioni della pagina modificando le singole proprietà della QueryPageSettingsEventArgs.PageSettings proprietà o impostando la proprietà su un oggetto PageSettings. Le modifiche apportate all'oggetto PageSettings influiscono solo sulla pagina corrente, non sulle impostazioni predefinite della pagina del documento. È anche possibile annullare il processo di stampa impostando la Cancel proprietà su true per .QueryPageSettingsEventArgs

Per associare l'evento al gestore eventi, aggiungere un'istanza del QueryPageSettingsEventHandler delegato all'evento. Il gestore eventi viene chiamato ogni volta che si verifica l'evento. Per altre informazioni sulla gestione degli eventi con delegati, vedere Gestione e generazione di eventi.

Se si utilizza l'evento QueryPageSettings per modificare le impostazioni della stampante, le prestazioni del PrintPreviewDialog controllo non miglioreranno anche se è impostato un commutatore di configurazione di ottimizzazione. Per altre informazioni, vedere Cenni preliminari sul controllo PrintPreviewDialog.

Si applica a

Prodotto Versioni
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Vedi anche