WinForm 打印控件与其他控件有些不同,其它控件可以直接使用,但是打印控件需要一个中间控件来帮助实现.
对于系统而言是如何打印:把要打印的内容变成图片在打印.
所有打印控件:
(1)中间控件(先设置):PrintDocument[[[最重要的就是明白这个中间变量是干啥的就可以了]]]
设置PrintDocument 事件中的 PrintPage 属性[对于要打印的每一页发生一次]:
//实例化一个Font类型,作为默认的Font属性,(字体类型,字体大小) Font fo=new Font("宋体",19); //实力化一个Brush颜色类型,作为默认的颜色 Brush br = new SolidBrush(Color.Red); //设置事件数据(数据对象,font,brush,X坐标,Y坐标) e.Graphics.DrawString(textBox1.Text,fo,br,10,20);
(2)此时可以设置其它的打印控件了,先设置打印设置控件PageSetupDialog
//先把中变变量设置到控件中 pageSetupDialog1.Document = printDocument1; //实例化控件 DialogResult dl = pageSetupDialog1.ShowDialog();
(3)设置打印预览控件PrintPreviewDialog
//先把中变变量设置到控件中 printPreviewDialog1.Document = printDocument1; //实例化控件 DialogResult dl = printPreviewDialog1.ShowDialog();
这里也介绍一下PrintPreviewControl控件,这个是在窗体中可以直接直接展示的打印预览状态的控件,只能展示,不能设置.
右侧的文档不包含任何页就是PrintPreviewControl控件,他在窗体中需要有位置才能展示.
//直接使用中间变量 printPreviewControl1.Document = printDocument1;
(4)最终打印,PrintDialog,先设置该控件的各种属性,很多都是没有打开的,然后:
printDialog1.Document = printDocument1; DialogResult dl = printDialog1.ShowDialog(); if (dl == DialogResult.OK) { //打印的是中间变量 printDocument1.Print(); }