PrintDocument.QueryPageSettings Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt unmittelbar vor jedem PrintPage-Ereignis ein.
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
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" );
}
}
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
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.