printPreviewControl1通常与printDocument1控件配合使用,利用printPreviewControl1的属性Document与一个printDocument1绑定,即(this.printPreviewControl1.Document = this.printDocument1;)
当printPreviewControl1被显示到界面,或执行 this.printPreviewControl1.InvalidatePreview()方法时会触发printDocument1控件的PrintPage事件,该事件将会绘制预览内容。每绘制一页内容,就会执行一次该事件,绘制的内容都将显示在预览控件(printPreviewControl1)中 。 printDocument1执行print方法也将执行该事件。
void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { try { //绘制图片 参数(图片、X坐标、Y坐标、绘制的宽度、高度) e.Graphics.DrawImage(Image.FromFile(imgFileNames[index]), 0, 0, ImgWidth, ImgHeight); //e.Graphics.DrawLine(...); 绘制线段 //e.Graphics.DrawPie(...); //e.Graphics.DrawString(...);绘制字符串 e.HasMorePages = true; 指示是否继续绘制下一页,当绘制多页时,需要设置该属性 index++; if (index== 5) { e.HasMorePages = false; } } catch { } }
要打印预览的内容时,调用 this.printDocument1.Print() 方法,该方法将内容输入打印机进行打印;
printPreviewControl1属性:
- Rows:获取或者设置预览界面竖直方向最多显示的页数;
- Columns:获取或者设置水平反向最多显示的页数;
- Zoom:获取或设置页面的大小,可用来缩放预览页面;
- StartPage:设置预览界面左上角页面的页码;
- 设置上述参数,要调用 InvalidatePreview();方法进行刷新后,才能生效。
this.printDocument1属性:
- DefaultPageSettings 设置纸张大小、打印机及打印参数