PDA

View Full Version : سوال: پرینت از فرم



sini65
چهارشنبه 15 مرداد 1393, 23:51 عصر
سلام
من یه فرم که سه تا پنل داره و هرپنلم چندتا تکست باکس
برای پرینت از پنل ها چیکار کنم؟
همشون تو یه صفحه پرینت بگیرن

aminmousavi
پنج شنبه 16 مرداد 1393, 03:51 صبح
سلام دوست عزیز .
برای عکس گرفتن از فرم میتونی از کد زیر استفاده کنی :




Rectangle form = this.Bounds;
Bitmap bitmap = new Bitmap(form.Width, form.Height);
Graphics graphic = Graphics.FromImage(bitmap);
graphic.CopyFromScreen(form.Location, Point.Empty, form.Size);
bitmap.Save(@"C:\test.jpg");

sini65
پنج شنبه 16 مرداد 1393, 11:29 صبح
سلام دوست عزیز .
برای عکس گرفتن از فرم میتونی از کد زیر استفاده کنی :




Rectangle form = this.Bounds;
Bitmap bitmap = new Bitmap(form.Width, form.Height);
Graphics graphic = Graphics.FromImage(bitmap);
graphic.CopyFromScreen(form.Location, Point.Empty, form.Size);
bitmap.Save(@"C:\test.jpg");


برای پرینت گرفتن چیکار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

aminmousavi
پنج شنبه 16 مرداد 1393, 14:20 عصر
از bitmap پرینت میگیرین :




private void button1_Click(object sender, EventArgs e)
{
PrintDocument doc = new PrintDocument();
doc.PrintPage += this.Doc_PrintPage;
PrintDialog dlgSettings = new PrintDialog();
dlgSettings.Document = doc;
if (dlgSettings.ShowDialog() == DialogResult.OK)
{
doc.Print();
}
}


private void Doc_PrintPage(object sender, PrintPageEventArgs e)
{
float x = e.MarginBounds.Left;
float y = e.MarginBounds.Top;


Rectangle form = this.Bounds;
Bitmap bitmap = new Bitmap(form.Width, form.Height);
Graphics graphic = Graphics.FromImage(bitmap);
graphic.CopyFromScreen(form.Location, Point.Empty, form.Size);
e.Graphics.DrawImage(bitmap, x, y);
}