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# Programında Bigpara Sayfasından Borsa Verilerini Selenium Kütüphanesini Kullanarak Çekme
Konsol Ekranında Kod Yazma ve Çalıştırma
Veri Girişi Doğrulama (Input Validation)
c# Console Uygulamalarında Ping Nasıl Kullanılır, Ping Atma
Girilen Ad Soyadı Form Sayfasında Dinamik Olarak Gösteren c# Form Uygulaması
CefSharp Kullanan Sekmelere Sahip Chromium Tarayıcı Oluşturma2
Tombala Oyununu Yapan Uygulamayı c# Dilinde Kodlama1
Kompleks Veri Bağlama (Complex Data Binding)
C# Uygulamalarında HashMap Dizi Oluşturma
Basit Veri Bağlama (Simple Data Binding)
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
Kredi Kartı Taksitlendirme İşlemini Yapan c# Uygulaması
Değişik Özelliklerde Grafik Çizimi Yapan c# Uygulaması
Sayısal Loto Çekilişini Yapan c# Uygulaması
Doğum Günü Hesabını Ayrıntılı Olarak Yapan c# Uygulaması
c# Form Uygulamalarında SqLite Veritabanında Uyeler Tablosunu Oluşturma
Veri Girişi Maskeleme (MaskedTextBox)
Metodu Sonlandırma
Yıkıcı Metotlar (Destructors)
Panel Üzerinde Serbest Çizim Yapan c# Form Uygulaması

Yorum Ekle
   
Kötü
İyi