PrintDocument.QueryPageSettings Olay

Tanım

Her PrintPage olaydan hemen önce gerçekleşir.

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

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.

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

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 trueQueryPageSettingsEventArgsolarak 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ış.

Şunlara uygulanır

Ürün Sürümler
.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

Ayrıca bkz.