Jump to content

C# Ile Formu Yazdırmak


wmismail

Recommended Posts

Yazımızda üzerinde çalışmakta olduğunuz yada , belirli bir sorgu sonucunda kullanıcıya aktardığınız formu nasıl yazdırabileceğimizi anlatıyor olacağız.

İlk olarak formumuza bir tane buton ve printDocument nesnesi ekleyelim. Bunu dışında çıktıda görmek istediklerinizi ekleyebilirsiniz. Formun tasarım işlemi tamamlandıktan sonra formumuzun görüntüsünü resme dönüştürme işlemi ile devam edelim.

[C#]

[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern long BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
private Bitmap memoryImage;
private void CaptureScreen()
{
Graphics mygraphics = this.CreateGraphics();
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, mygraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
IntPtr dc1 = mygraphics.GetHdc();
IntPtr dc2 = memoryGraphics.GetHdc();
BitBlt(dc2, 0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 0, 0, 13369376);
mygraphics.ReleaseHdc(dc1);
memoryGraphics.ReleaseHdc(dc2);
}[/CODE]

Yukarıdaki fonksiyon ile formumuzun görünümünü Bitmap nesnesi olan memoryImage değişkenine atamış olduk. Şimdide butonumuza tıklandığında eklemiş olduğumuz printDocument nesnesinin print fonksiyonundan yararlanacağız.

[CODE]private void button1_Click(object sender, EventArgs e)
{
CaptureScreen();
printDocument1.Print();
}

private void printDocument1_PrintPage_1(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 0, 0);
}[/CODE]

Tahir MUTLU

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...