PrintDocument.QueryPageSettings Gebeurtenis
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vindt direct voor elke PrintPage gebeurtenis plaats.
public:
event System::Drawing::Printing::QueryPageSettingsEventHandler ^ QueryPageSettings;
public event System.Drawing.Printing.QueryPageSettingsEventHandler QueryPageSettings;
member this.QueryPageSettings : System.Drawing.Printing.QueryPageSettingsEventHandler
Public Custom Event QueryPageSettings As QueryPageSettingsEventHandler
Gebeurtenistype
Voorbeelden
In het volgende codevoorbeeld wordt een document afgedrukt met de eerste pagina in kleur, als de printer dit ondersteunt. Voor het voorbeeld is vereist dat er een PrintDocument variabele met de naam printDoc is gemaakt en dat de PrintPage gebeurtenissen QueryPageSettings worden verwerkt. De currentPageNumber variabele wordt verhoogd nadat elke pagina wordt afgedrukt in de PrintPage gebeurtenis, die niet wordt weergegeven.
Gebruik de System.Drawing en System.Drawing.Printing naamruimten voor dit voorbeeld.
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" );
}
}
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;
}
}
}
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;
}
}
}
Private Sub MyButtonPrint_OnClick(ByVal sender As Object, ByVal e As System.EventArgs)
' 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 Then
' If the printer supports printing in color, then override the printer's default behavior.
if printDoc.PrinterSettings.SupportsColor then
' Set the page default's to not print in color.
printDoc.DefaultPageSettings.Color = False
End If
' 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")
End If
End Sub
Private Sub MyPrintQueryPageSettingsEvent(ByVal sender As Object, ByVal e As QueryPageSettingsEventArgs)
' Determines if the printer supports printing in color.
If printDoc.PrinterSettings.SupportsColor Then
' If the printer supports color printing, use color.
If currentPageNumber = 1 Then
e.PageSettings.Color = True
End If
End If
End Sub
Opmerkingen
Het is mogelijk om elke pagina van een document af te drukken met behulp van verschillende pagina-instellingen. U stelt pagina-instellingen in door afzonderlijke eigenschappen van de QueryPageSettingsEventArgs.PageSettings eigenschap te wijzigen of door de eigenschap in te stellen op een PageSettings. Wijzigingen die zijn aangebracht in het PageSettings effect alleen op de huidige pagina, niet op de standaardpagina-instellingen van het document. De afdruktaak kan ook worden geannuleerd door de Cancel eigenschap in te true stellen op de QueryPageSettingsEventArgs.
Als u de gebeurtenis wilt koppelen aan uw gebeurtenis-handler, voegt u een exemplaar van de QueryPageSettingsEventHandler gemachtigde toe aan de gebeurtenis. De gebeurtenis-handler wordt aangeroepen wanneer de gebeurtenis plaatsvindt. Zie Afhandeling en het genereren van gebeurtenissen voor meer informatie over het afhandelen van gebeurtenissen met gemachtigden.
Als u de QueryPageSettings gebeurtenis gebruikt om printerinstellingen te wijzigen, worden de prestaties van het PrintPreviewDialog besturingselement niet verbeterd, zelfs niet als een optimalisatieconfiguratieswitch is ingesteld. Zie het overzicht van het besturingselement PrintPreviewDialog voor meer informatie.