Aracılığıyla paylaş


PrintDialog bileşenine genel bakış (Windows Forms .NET)

Windows Forms'da yazdırma, öncelikle kullanıcının yazdırmasını sağlamak için bileşenin kullanılmasından PrintDocument oluşur. Denetim PrintPreviewDialog ve PageSetupDialog bileşenler, PrintDialog Windows işletim sistemi kullanıcılarına tanıdık bir grafik arabirimi sağlar.

Bileşen PrintDialog , bir yazıcı seçmek, yazdırılacak sayfaları seçmek ve Windows tabanlı uygulamalarda yazdırmayla ilgili diğer ayarları belirlemek için kullanılan önceden yapılandırılmış bir iletişim kutusudur. Kendi iletişim kutunuzu yapılandırmak yerine yazıcı ve yazdırmayla ilgili ayarlar için basit bir çözüm. Kullanıcıların belgelerinin birçok bölümünü yazdırmasını sağlayabilirsiniz: tümünü yazdırın, seçili sayfa aralığını yazdırın veya seçimi yazdırın. Standart Windows iletişim kutularına güvenerek, temel işlevleri kullanıcılara hemen tanıdık gelen uygulamalar oluşturursunuz. PrintDialog Bileşeni sınıfından devralırCommonDialog.

Genellikle, bileşenin PrintDocument yeni bir örneğini oluşturur ve ve PageSettings sınıflarını kullanarak PrinterSettings nelerin yazdırılacağını açıklayan özellikleri ayarlarsınız. yöntemine yapılan Print çağrı aslında belgeyi yazdırır.

Bileşenle çalışma

Çalışma zamanında iletişim kutusunu görüntülemek için PrintDialog.ShowDialog yöntemini kullanın. Bu bileşen, tek bir yazdırma işi (sınıf) veya tek bir yazıcının (PrintDocumentPrinterSettingssınıf) ayarlarıyla ilgili özelliklere sahiptir. Bu iki yazıcıdan biri birden çok yazıcı tarafından paylaşılabilir.

Göster iletişim kutusu yöntemi, forma yazdırma iletişim kutusu eklemenize yardımcı olur. Bileşen, PrintDialog Visual Studio'da Windows Forms Tasarım Aracı altındaki tepside görünür.

Çalışma zamanında PrintDialog'dan kullanıcı girişi yakalama

Tasarım zamanında yazdırmayla ilgili seçenekleri ayarlayabilirsiniz. Bazen, büyük olasılıkla kullanıcı tarafından yapılan seçimler nedeniyle bu seçenekleri çalışma zamanında değiştirmek isteyebilirsiniz. ve PrintDocument bileşenlerini kullanarak PrintDialog belge yazdırmak için kullanıcı girişini yakalayabilirsiniz. Aşağıdaki adımlarda belge için yazdırma iletişim kutusunun görüntülenmesi gösterilmektedir:

  1. Formunuza bir PrintDialogPrintDocument ve bileşeni ekleyin.

  2. öğesinin DocumentPrintDialog özelliğini forma PrintDocument eklenen olarak ayarlayın.

    PrintDialog1.Document = PrintDocument1
    
    printDialog1.Document = printDocument1;
    
  3. PrintDialog yöntemini kullanarak ShowDialog bileşeni görüntüleyin.

    If PrintDialog1.ShowDialog() = DialogResult.OK Then
        PrintDocument1.Print()
    End If
    
    // display show dialog and if user selects "Ok" document is printed
    if (printDialog1.ShowDialog() == DialogResult.OK)
        printDocument1.Print();
    
  4. Kullanıcının iletişim kutusundan yazdırma seçenekleri bileşenin PrintDocument özelliğine PrinterSettings kopyalanır.

Yazdırma işleri oluşturma

Windows Forms'da yazdırmanın temeli, daha belirgin olarak PrintPage olay olan bileşendirPrintDocument. Olayı işlemek PrintPage için kod yazarak, nelerin yazdırılacağını ve nasıl yazdırılacağını belirtebilirsiniz. Aşağıdaki adımlarda yazdırma işi oluşturma işlemi gösterilmektedir:

  1. Formunuza bir PrintDocument bileşen ekleyin.

  2. Olayı işlemek PrintPage için kod yazın.

    Kendi yazdırma mantığınızı kodlayacaksınız. Ayrıca, yazdırılacak malzemeyi belirtmeniz gerekir.

    Yazdırılacak malzeme olarak, aşağıdaki kod örneğinde, olay işleyicisinde kırmızı dikdörtgen şeklinde bir örnek grafik oluşturulur PrintPage .

    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        e.Graphics.FillRectangle(Brushes.Red, New Rectangle(100, 100, 100, 100))
    End Sub
    
    private void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) =>
        e.Graphics.FillRectangle(Brushes.Red, new Rectangle(100, 100, 100, 100));
    

ve EndPrint olayları için BeginPrint de kod yazmak isteyebilirsiniz. Her sayfa yazdırılırken azalan, yazdırılacak toplam sayfa sayısını temsil eden bir tamsayı eklenmesine yardımcı olur.

Dekont

Kullanıcılarınıza temiz ve verimli bir kullanıcı arabirimi (UI) sağlamak için formunuza bir PrintDialog bileşen ekleyebilirsiniz. Bileşenin DocumentPrintDialog özelliğini ayarlamak, formunuz üzerinde çalıştığınız yazdırma belgesiyle ilgili özellikleri ayarlamanıza olanak tanır.

Program aracılığıyla yazdırma işi oluşturma da dahil olmak üzere Windows Forms yazdırma işlerinin özellikleri hakkında daha fazla bilgi için bkz PrintPageEventArgs. .

Yazdırma işlerini tamamlama

Sık sık, sözcük işlemcileri ve yazdırmayı içeren diğer uygulamalar, kullanıcılara yazdırma işinin tamamlandığını belirten bir ileti görüntüleme seçeneği sağlar. Bileşenin olayını PrintDocument işleyerek EndPrint Windows Forms'unuzda bu işlevi sağlayabilirsiniz.

Aşağıdaki yordam, üzerinde bir bileşen bulunan Windows tabanlı bir PrintDocument uygulama oluşturmanızı gerektirir. Aşağıda verilen yordam, Windows tabanlı bir uygulamadan yazdırmayı etkinleştirmenin standart yoludur. Bileşeni kullanarak PrintDocument Windows Forms'dan yazdırma hakkında daha fazla bilgi için bkz . Yazdırma işleri oluşturma.

  1. Bileşenin DocumentNamePrintDocument özelliğini ayarlayın.

    PrintDocument1.DocumentName = "SamplePrintApp"
    
    printDocument1.DocumentName = "SamplePrintApp";
    
  2. Olayı işlemek EndPrint için kod yazın.

    Aşağıdaki kod örneğinde, belgenin yazdırma işleminin tamamlandığını belirten bir ileti kutusu görüntülenir.

    Private Sub PrintDocument1_EndPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles PrintDocument1.EndPrint
        MessageBox.Show(PrintDocument1.DocumentName + " has finished printing.")
    End Sub
    
    private void PrintDocument1_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e) =>
        MessageBox.Show(printDocument1.DocumentName + " has finished printing.");