c# Desktop

c# Form Sayfasında Çoklu Sayfaların Baskı Ön İzlemesi ve Yazdırılması

Form sayfalarından 1 sayfa olduğu gibi birden fazla sayfayı da yazıcıdan çıktı alabilirsiniz. Hatta bu sayfaalrın baskı ön izlemesini yaparak kağıt çıktısının bir örneğini oluşturabilirsiniz.

Form sayfasına iki adet button ekleyelim. Ayrıca yazıcı işlemleri için birer adet PrintPreviewDialog, PrintDocument, PrintDialog ekleyelim.

        PaperSize paperSize = new PaperSize("papersize", 150, 500);
        int totalnumber = 0;
        int itemperpage = 0;

        private void button1_Click(object sender, EventArgs e)
        {
            itemperpage = totalnumber = 0;
            printPreviewDialog1.Document = printDocument1;

            ((ToolStripButton)((ToolStrip)printPreviewDialog1.Controls[1]).Items[0]).Enabled
            = false;

            printDocument1.DefaultPageSettings.PaperSize = paperSize;
            printPreviewDialog1.ShowDialog();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            itemperpage = totalnumber = 0;
            printDialog1.Document = printDocument1;
            printDocument1.DefaultPageSettings.PaperSize = paperSize;
            printDialog1.ShowDialog();
        }

        private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        {
            float currentY = 10;
            e.Graphics.DrawString("Print in Multiple Pages", DefaultFont, Brushes.Black, 10, currentY);
            currentY += 15;

            while (totalnumber <= 50) 
            {
                e.Graphics.DrawString(totalnumber.ToString(), DefaultFont, Brushes.Black, 50, currentY);
                currentY += 20; 
                totalnumber += 1; 
                if (itemperpage < 20) 
                {
                    itemperpage += 1; 
                    e.HasMorePages = false; 
                }
                else 
                {
                    itemperpage = 0; 
                    e.HasMorePages = true; 
                    return;
                }
            }
        }

 


İlgili Makaleler
c# Console Uygulamalarında ReadKey Metoduyla Klavye Tuşlarını Kontrol Etme
Yıkıcı Metotlar (Destructors)
Sayısal Loto Çekilişini Yapan c# Uygulaması
Kredi Kartı Taksitlendirme İşlemini Yapan c# Uygulaması
Kaçan Buton Oyununu Yapan c# Uygulaması
Yazdırma İletişim Kutusu (PrintDialog)
C# Uygulamalarında HashMap Dizi Oluşturma
C# Uygulamalarında Dictionary Dizi Oluşturma
c# Form Uygulamalarında Ekranın Genişliğini ve Yüksekliğini Bulma
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
Veri Girişi Doğrulama (Input Validation)
Veri Girişi Maskeleme (MaskedTextBox)
LINQ - Gruplama (Grouping) Örnekleri
Konsol Ekranında Kod Yazma ve Çalıştırma
Panel Üzerinde Serbest Çizim Yapan c# Form Uygulaması
c# Console Uygulamalarında Ping Nasıl Kullanılır, Ping Atma
C# Programlama Dilinde Veri Tipleri
Form Sayfalarında Ayrıntılı ListBox Kullanımı
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Kodlama
Belirtilen Sayı Kadar Yıldız Oluşturan c# Form Uygulaması

Yorum Ekle
   
Kötü İyi