如何使用Print Dialog Windows应用程序C#打印Panel Control的内容 [英] How Can printing Contents of Panel Control using Print Dialog Windows Applications C#

查看:80
本文介绍了如何使用Print Dialog Windows应用程序C#打印Panel Control的内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用Print Dialog Windows应用程序打印Panel Control的内容C#

How Can printing Contents of Panel Control using Print Dialog Windows Applications C#

推荐答案

我可能错了,但请看一下,

http://rkinfopedia.blogspot.in/2008/07/printing- content-of-panel-control.html [ ^ ]

I might be wrong, but take a look here,
http://rkinfopedia.blogspot.in/2008/07/printing-contents-of-panel-control.html[^]
//Make reference to following Libraries
using System.Drawing;
using System.Drawing.Printing ; 
using System.ComponentModel;
using System.Drawing.Drawing2D;
using System.IO;
using System.Drawing.Imaging; 

//Declare following Object Variables
PrintDocument printdoc1 = new PrintDocument();
PrintPreviewDialog previewdlg = new PrintPreviewDialog();
Panel pannel = null;

//Declare event handler for printing in constructor
printdoc1.PrintPage += new PrintPageEventHandler(printdoc1_PrintPage); 

Bitmap MemoryImage;
public void GetPrintArea(Panel pnl)
{
    MemoryImage = new Bitmap(pnl.Width, pnl.Height); 
    Rectangle rect = new Rectangle(0,0,pnl.Width ,pnl.Height);
    pnl.DrawToBitmap(MemoryImage, new Rectangle(0, 0, pnl.Width, pnl.Height));
}
protected override void OnPaint(PaintEventArgs e)
{
    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 )-(pannel.Width /2) ,pannel.Location.Y);
}

public void Print(Panel pnl)
{
    pannel = pnl;
    GetPrintArea(pnl); 
    previewdlg.Document = printdoc1;
    previewdlg.ShowDialog(); 
}





-KR



-KR


这篇关于如何使用Print Dialog Windows应用程序C#打印Panel Control的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆