Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pencetakan dalam Formulir Windows terutama terdiri dari penggunaan PrintDocument komponen untuk memungkinkan pengguna mencetak. Komponen PrintPreviewDialog kontrol, PrintDialog, dan PageSetupDialog menyediakan antarmuka grafis yang familier untuk pengguna sistem operasi Windows.
Komponen PrintDialog adalah kotak dialog yang telah dikonfigurasi sebelumnya yang digunakan untuk memilih printer, memilih halaman yang akan dicetak, dan menentukan pengaturan terkait cetak lainnya di aplikasi berbasis Windows. Ini adalah solusi sederhana untuk printer dan pengaturan terkait cetak alih-alih mengonfigurasi kotak dialog Anda sendiri. Anda dapat mengaktifkan pengguna untuk mencetak banyak bagian dokumen mereka: mencetak semua, mencetak rentang halaman yang dipilih, atau mencetak pilihan. Dengan mengandalkan kotak dialog Windows standar, Anda membuat aplikasi yang fungsionalitas dasarnya segera akrab bagi pengguna. Komponen PrintDialog mewarisi kelas CommonDialog.
Biasanya, Anda membuat instans komponen PrintDocument baru dan mengatur properti yang menjelaskan apa yang harus dicetak dengan menggunakan kelas PrinterSettings dan PageSettings. Pemanggilan metode Print, sebenarnya mencetak dokumen.
Bekerja dengan komponen tersebut
Gunakan metode PrintDialog.ShowDialog untuk menampilkan dialog pada waktu proses. Komponen ini memiliki properti yang terkait dengan satu pekerjaan cetak (PrintDocument kelas) atau pengaturan printer individu (PrinterSettings kelas). Salah satu dari keduanya, pada gilirannya, mungkin dibagikan oleh beberapa printer.
Metode perlihatkan kotak dialog membantu Anda menambahkan kotak dialog cetak ke formulir. Komponen PrintDialog muncul di bilah tugas di bagian bawah Windows Forms Designer di Visual Studio.
Cara mengambil input pengguna dari PrintDialog saat waktu berjalan
Anda dapat mengatur opsi yang terkait dengan pencetakan pada waktu desain. Terkadang Anda mungkin ingin mengubah opsi ini pada waktu proses, kemungkinan besar karena pilihan yang dibuat oleh pengguna. Anda dapat mengambil input pengguna untuk mencetak dokumen menggunakan PrintDialog dan komponen PrintDocument. Langkah-langkah berikut menunjukkan menampilkan dialog cetak untuk dokumen:
Tambahkan PrintDialog dan komponen PrintDocument ke formulir Anda.
Atur properti Document dari PrintDialog ke nilai PrintDocument yang sudah ditambahkan pada formulir.
PrintDialog1.Document = PrintDocument1printDialog1.Document = printDocument1;Tampilkan komponen PrintDialog dengan menggunakan metode ShowDialog.
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();Pilihan pencetakan pengguna dari dialog disalin ke PrinterSettings properti PrintDocument komponen.
Cara membuat pekerjaan cetak
Fondasi pencetakan di Windows Forms adalah komponen PrintDocument—lebih khusus lagi, peristiwa PrintPage. Dengan menulis kode untuk menangani peristiwa PrintPage, Anda dapat menentukan apa yang harus dicetak dan cara mencetaknya. Langkah-langkah berikut menunjukkan pembuatan pekerjaan cetak:
Tambahkan komponen PrintDocument ke formulir Anda.
Tulis kode untuk menangani peristiwa PrintPage.
Anda harus membuat kode logika pencetakan Anda sendiri dan menentukan materi yang akan dicetak.
Sebagai bahan untuk dicetak, dalam contoh kode berikut, sampel grafik berbentuk persegi panjang merah dibuat di penangan kejadian 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 Subprivate void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) => e.Graphics.FillRectangle(Brushes.Red, new Rectangle(100, 100, 100, 100));
Anda mungkin juga ingin menulis kode untuk BeginPrint peristiwa dan EndPrint . Ini membantu dengan menyertakan bilangan bulat yang mewakili jumlah total halaman yang akan dicetak, yang kemudian dikurangi setiap kali satu halaman dicetak.
Nota
Anda dapat menambahkan komponen PrintDialog ke formulir Anda untuk menyediakan antarmuka pengguna (UI) yang bersih dan efisien kepada pengguna Anda. Document Mengatur properti PrintDialog komponen memungkinkan Anda mengatur properti yang terkait dengan dokumen cetak yang sedang Anda kerjakan pada formulir Anda.
Untuk informasi selengkapnya tentang spesifikasi pekerjaan cetak Windows Forms, termasuk cara membuat pekerjaan cetak secara terprogram, lihat PrintPageEventArgs.
Cara menyelesaikan pekerjaan cetak
Sering kali, prosesor kata dan aplikasi lain yang melibatkan pencetakan menyediakan opsi untuk menampilkan pesan kepada pengguna bahwa pekerjaan cetak selesai. Anda dapat menyediakan fungsionalitas ini di Formulir Windows Anda dengan mengelola event EndPrint dari komponen PrintDocument.
Prosedur berikut mengharuskan Anda membuat aplikasi berbasis Windows dengan PrintDocument komponen di dalamnya. Prosedur ini adalah cara standar untuk mengaktifkan pencetakan dari aplikasi berbasis Windows. Untuk informasi selengkapnya tentang mencetak dari Windows Forms menggunakan PrintDocument komponen, lihat Cara membuat pekerjaan cetak.
Atur properti DocumentName komponen PrintDocument.
PrintDocument1.DocumentName = "SamplePrintApp"printDocument1.DocumentName = "SamplePrintApp";Tulis kode untuk menangani peristiwa EndPrint.
Dalam contoh kode berikut, kotak pesan ditampilkan, menunjukkan bahwa dokumen selesai dicetak.
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 Subprivate void PrintDocument1_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e) => MessageBox.Show(printDocument1.DocumentName + " has finished printing.");
.NET Desktop feedback