
1、新建winform项目及创建窗体
2、拖取 打印 相关控件
PageSetupDialog 、 PrintDialog 、 PrintDocument 、PrintPreviewDialog
3、设置上述控件的Document属性为相应的PrintDocument
4、设置按钮等控件 及 添加相应按钮事件
5、示意代码如下
代码
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent()
this.printDocument1.OriginAtMargins = true//启用页边距
this.pageSetupDialog1.EnableMetric = true//以毫米为单位
}
//打印设置
private void btnSetPrint_Click(object sender, EventArgs e)
{
this.pageSetupDialog1.ShowDialog()
}
//打印预览
private void btnPrePrint_Click(object sender, EventArgs e)
{
this.printPreviewDialog1.ShowDialog()
}
//打印
private void btnPrint_Click(object sender, EventArgs e)
{
if (this.printDialog1.ShowDialog() == DialogResult.OK)
{
this.printDocument1.Print()
}
}
//打印内容的设置
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
////打印内容 为 整个Form
//Image myFormImage
//myFormImage = new Bitmap(this.Width, this.Height)
//Graphics g = Graphics.FromImage(myFormImage)
//g.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, this.Size)
//e.Graphics.DrawImage(myFormImage, 0, 0)
////打印内容 为 局部的 this.groupBox1
//Bitmap _NewBitmap = new Bitmap(groupBox1.Width, groupBox1.Height)
//groupBox1.DrawToBitmap(_NewBitmap, new Rectangle(0, 0, _NewBitmap.Width, _NewBitmap.Height))
//e.Graphics.DrawImage(_NewBitmap, 0, 0, _NewBitmap.Width, _NewBitmap.Height)
//打印内容 为 自定义文本内容
Font font = new Font("宋体", 12)
Brush bru = Brushes.Blue
for (int i = 1i <= 5i++)
{
e.Graphics.DrawString("Hello world ", font, bru, i*20, i*20)
}
}
}
System.Windows.Forms.PrintDialog 或者System.Drawing.Printing.PrintDocument。创建一个PrintDialog的实例。如下:
System.Windows.Forms.PrintDialog PrintDialog1=new PrintDialog ()
创建一个PrintDocument的实例.如下:
System.Drawing.Printing.PrintDocument docToPrint =
new System.Drawing.Printing.PrintDocument()
设置打印机开始打印的事件处理函数.函数原形如下:
void docToPrint_PrintPage(object sender,
System.Drawing.Printing.PrintPageEventArgs e)
将事件处理函数添加到PrintDocument的PrintPage事件中。
docToPrint.PrintPage+=new PrintPageEventHandler(docToPrint_PrintPage)
设置PrintDocument的相关属性,如:
PrintDialog1.AllowSomePages = truePrintDialog1.ShowHelp = true
把PrintDialog的Document属性设为上面配置好的PrintDocument的实例:
PrintDialog1.Document = docToPrint
调用PrintDialog的ShowDialog函数显示打印对话框:
DialogResult result = PrintDialog1.ShowDialog()
根据用户的选择,开始打印:
if (result==DialogResult.OK)
{
docToPrint.Print()
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)