PrintDocument.QueryPageSettings Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Her PrintPage olaydan hemen önce gerçekleşir.
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
Olay Türü
Örnekler
Aşağıdaki kod örneği, yazıcı destekliyorsa ilk sayfa renkli bir belge yazdırır. Örnek, adlı printDoc
bir PrintDocument değişkenin oluşturulmasını ve ve QueryPageSettings olaylarının işlenmesini PrintPage gerektirir. Değişken currentPageNumber
, olaydaki PrintPage her sayfa yazdırıldıktan sonra artırılır ve gösterilmez.
System.Drawing Bu örnek için ve System.Drawing.Printing ad alanlarını kullanın.
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
Açıklamalar
Belgenin her sayfasını farklı sayfa ayarları kullanarak yazdırmak mümkündür. Sayfa ayarlarını, özelliğin QueryPageSettingsEventArgs.PageSettings tek tek özelliklerini değiştirerek veya özelliğini olarak PageSettingsayarlayarak ayarlarsınız. 'de yapılan değişiklikler belgenin PageSettings varsayılan sayfa ayarlarını değil, yalnızca geçerli sayfayı etkiler. Yazdırma işi için özelliği true
QueryPageSettingsEventArgsolarak ayarlanarak Cancel da iptal edilebilir.
Olayı olay işleyicinizle ilişkilendirmek için olaya temsilcinin QueryPageSettingsEventHandler bir örneğini ekleyin. Olay her gerçekleştiğinde olay işleyicisi çağrılır. Olayları temsilcilerle işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.
Yazıcı ayarlarını değiştirmek için olayını kullanırsanız QueryPageSettings , bir iyileştirme yapılandırma anahtarı ayarlansa bile denetimin PrintPreviewDialog performansı iyileşmez. Daha fazla bilgi için bkz. PrintPreviewDialog denetimine genel bakış.