folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder C# Print Page Setings Yardım...



C# Print Page Setings Yardım...

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MemBaran
    MemBaran's avatar
    Kayıt Tarihi: 21/Nisan/2015
    Erkek

    Merhaba;

     

    C#ta oluşturdugum bir formun daha dogrusu panelin çıktısını almak istiyorum ama resimde görüldüğü gibi bir hata alıyorum, panelin yarısı basılıyor. Marginleri falan 0 yaptım ama yine düzelmedi. Alacağım print alanı panelde görüldüğü gibi olması gerekiyor. Bilgisi olan arkadaşlardan ricamız olur..


    Yağmur yağmur yağmur...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Daft Ground
    PLaXToR
    PLaXToR's avatar
    Kayıt Tarihi: 08/Temmuz/2003
    Erkek

    Selamlar hocam source u paylaşabilirsen yardımcı olabilirim


    If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MemBaran
    MemBaran's avatar
    Kayıt Tarihi: 21/Nisan/2015
    Erkek
    PLaXToR bunu yazdı

    Selamlar hocam source u paylaşabilirsen yardımcı olabilirim

     private void btnYazdir_Click(object sender, EventArgs e)

            {   

                Print(this.pnlPreview);

            }

            #region PrintFunctions

            PrintDocument printDocument = new PrintDocument();

            Bitmap MemoryImage;

            public void GetPrintArea(Panel pnl)

            {

                MemoryImage = new Bitmap(pnl.Width, pnl.Height);

              

                pnl.DrawToBitmap(MemoryImage, new Rectangle(0, 0,pnl.Width, pnl.Height));     

            }

            protected override void OnPaint(PaintEventArgs e)

            {

                if (MemoryImage != null)

                {

                    e.Graphics.DrawImage(MemoryImage, 0, 0);               

                    base.OnPaint(e);

                }

            }

            void printdoc1_PrintPage(object sender, PrintPageEventArgs e)

            {

                Rectangle pagearea = e.PageBounds;

                e.Graphics.DrawImage(MemoryImage, (pagearea.Width / 2) - (this.pnlPreview.Width / 2), this.pnlPreview.Location.Y);

                e.PageSettings.Margins.Bottom = 0;

                e.PageSettings.Margins.Left =0;

                e.PageSettings.Margins.Right = 0;

                e.PageSettings.Margins.Top = 0;        

            }

            public void Print(Panel pnl)

            {

                GetPrintArea(pnl);

                previewdlg.Document = printDocument;

                previewdlg.ShowDialog();           

            }

     

     

    buyur hocam


    Yağmur yağmur yağmur...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Daft Ground
    PLaXToR
    PLaXToR's avatar
    Kayıt Tarihi: 08/Temmuz/2003
    Erkek

    Hocam şu satırı

    ---

    e.Graphics.DrawImage(MemoryImage, (pagearea.Width / 2) - (this.pnlPreview.Width / 2), this.pnlPreview.Location.Y);

    ---

    Bununla değiştiririp denermisin?

    ---

    e.Graphics.DrawImage(MemoryImage, (pagearea.Width) - (this.pnlPreview.Width / 2), this.pnlPreview.Location.Y);

     ---

     

    PLaXToR tarafından 23/Kas/15 14:44 tarihinde düzenlenmiştir

    If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MemBaran
    MemBaran's avatar
    Kayıt Tarihi: 21/Nisan/2015
    Erkek
    PLaXToR bunu yazdı

    Hocam şu satırı

    ---

    e.Graphics.DrawImage(MemoryImage, (pagearea.Width / 2) - (this.pnlPreview.Width / 2), this.pnlPreview.Location.Y);

    ---

    Bununla değiştiririp denermisin?

    ---

    e.Graphics.DrawImage(MemoryImage, (pagearea.Width) - (this.pnlPreview.Width / 2), this.pnlPreview.Location.Y);

     ---

     

    Böyle çıktı hocam


    Yağmur yağmur yağmur...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Daft Ground
    PLaXToR
    PLaXToR's avatar
    Kayıt Tarihi: 08/Temmuz/2003
    Erkek

    e.Graphics.DrawImage(MemoryImage, this.pnlPreview.Location.X, this.pnlPreview.Location.Y);

    direk böyle yaptığında ki çıktıyı verirmisin?

     

     

     

    PLaXToR tarafından 23/Kas/15 15:07 tarihinde düzenlenmiştir

    If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MemBaran
    MemBaran's avatar
    Kayıt Tarihi: 21/Nisan/2015
    Erkek
    PLaXToR bunu yazdı

    e.Graphics.DrawImage(MemoryImage, this.pnlPreview.Location.X, this.pnlPreview.Location.Y);

    direk böyle yaptığında ki çıktıyı verirmisin?

     

     

     

    Hocam kalbin gibi temiz boş bir sayfa verdi çıktı olarak :)


    Yağmur yağmur yağmur...
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Daft Ground
    PLaXToR
    PLaXToR's avatar
    Kayıt Tarihi: 08/Temmuz/2003
    Erkek

    Hocam son olarak

    e.Graphics.DrawImage(MemoryImage, this.pnlPreview.Width, this.pnlPreview.Height);

    öneririm. Olmazsa akşama bakabilirim :)


    If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MemBaran
    MemBaran's avatar
    Kayıt Tarihi: 21/Nisan/2015
    Erkek
    PLaXToR bunu yazdı

    Hocam son olarak

    e.Graphics.DrawImage(MemoryImage, this.pnlPreview.Width, this.pnlPreview.Height);

    öneririm. Olmazsa akşama bakabilirim :)

    Yine boş form verdi hocam :( Müsait oldugun zaman bakalım öyleyse :)


    Yağmur yağmur yağmur...
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    sorun y koordinatinda hocam, this.pnlPreview.Location.Y yerine 0 yaz


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
Toplam Hit: 1099 Toplam Mesaj: 10
c# print