PrintDocument.QueryPageSettings Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastane bezprostředně před každou PrintPage událostí.
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
Event Type
Příklady
Následující příklad kódu vytiskne dokument s první stránkou v barvě, pokud ho tiskárna podporuje. Příklad vyžaduje vytvoření PrintDocument proměnné s názvem printDoc
a PrintPage zpracování událostí a QueryPageSettings . Proměnná currentPageNumber
se zvýší po vytištění každé stránky v PrintPage události, která se nezobrazuje.
V tomto příkladu System.Drawing použijte obory názvů a System.Drawing.Printing .
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
Poznámky
Každou stránku dokumentu je možné vytisknout pomocí jiného nastavení stránky. Nastavení stránky nastavíte úpravou jednotlivých vlastností QueryPageSettingsEventArgs.PageSettings vlastnosti nebo nastavením vlastnosti na PageSettings. Změny provedené v PageSettings dokumentu mají vliv pouze na aktuální stránku, nikoli na výchozí nastavení stránky dokumentu. Tiskovou úlohu lze také zrušit nastavením Cancel vlastnosti na true
hodnotu .QueryPageSettingsEventArgs
Pokud chcete událost přidružit k obslužné rutině události, přidejte do události instanci QueryPageSettingsEventHandler delegáta. Obslužná rutina události je volána vždy, když dojde k události. Další informace o zpracování událostí s delegáty najdete v tématu Zpracování a vyvolávání událostí.
Pokud událost použijete QueryPageSettings ke změně nastavení tiskárny, výkon PrintPreviewDialog ovládacího prvku se nezlepší ani v případě, že je nastaven přepínač konfigurace optimalizace. Další informace najdete v tématu Přehled ovládacího prvku PrintPreviewDialog.