1. 添加PrintPreviewControl控件,并做如下设置,绑定printDocument控件:

  1. 初始化printdocument并绑定打印触发事件
this.printDocument1.PrintController = null;
//设置打印用的纸张,当设置为Custom的时候,可以自定义纸张的大小
printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custom", 800, 1150);
//注册PrintPage事件,打印每一页时会触发该事件
printDocument1.PrintPage += new PrintPageEventHandler(this.PrintDocument_PrintPage);
  1. 在画布上写内容:
private void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{//添加字符串e.Graphics.DrawString("Hello World!", new Font(new FontFamily("宋体"), 10.5f), System.Drawing.Brushes.Black, x, y);//添加图片e.Graphics.DrawImage(Image.FromFile(imgPath), x, y, imgwid,imgheg);//画线Pen pen = new Pen(Color.Red, 2);e.Graphics.DrawLine(pen, x1, y1, x2, y2);//画矩形e.Graphics.DrawRectangle(pen, x, y, wid, heg);
}
  1. 放大倍数设置,调整Zoom属性,值为1时放大倍数为100%,可设置成带小数的参数(0.75、1.2等)
  2. 分页:
e.HasMorePages = true;
printControl.Rows += 1;

分页具体实现,如下:

int page=0;
private void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{if(page=0){page++;//添加字符串e.Graphics.DrawString("第一页", new Font(new FontFamily("宋体"), 10.5f), System.Drawing.Brushes.Black, x, y);e.HasMorePages = true;printControl.Rows += 1;}else{e.Graphics.DrawString("第二页", new Font(new FontFamily("宋体"), 10.5f), System.Drawing.Brushes.Black, x, y);}
}

C#使用PrintDocument实现打印预览相关推荐

  1. C# 使用自带的组件PrintPreviewDialog 和 PrintDocument实现打印预览(一)

    文章目录 前言 相关内容了解 打印预览功能 1 创建winform工程 2 创建要打印的测试数据 3 绘制打印页 绘制页脚 绘制内容 PrintPage事件 完整的代码工程 小节 前言 有这么个需求: ...

  2. .NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现

    原文:.NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如DataGrid.MSHFlexGrid的控件.其次,是 ...

  3. .NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现与应用(1)

    From: http://blog.csdn.net/flygoldfish/article/details/77208 .NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现 我个人认为, ...

  4. .Net环境下有关打印页面设置、打印机设置、打印预览对话框的实现(开源)---转

    作者:周方勇 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如DataGrid.MSHFlexGrid的控件.其次,是打印的问题,将业务单据与数据报表打印出来.可想而知,即使一 ...

  5. C# PrintDocument 打印 和 打印预览

    .封装好的辅助类: [csharp] view plaincopy print? using System; using System.Data; using System.Drawing; usin ...

  6. C# 打印预览 PrintDocument打印、打印预览

    #region 打印预览#region 变量 常量//以下用户可自定义 //当前要打印文本的字体及字号 private const int HeadHeight = 40;private static ...

  7. printdocument python_python学习笔记之wxpython打印预览

    主要学习wxPython in action 和Demo程序,做点学习笔记 wxPython 通过使用设备上下文和绘制操作来实现打印,wxPython中实现打印的一个重要的类:wx.PrintOut它 ...

  8. C#实现打印与打印预览功能

    C#实现打印与打印预览功能 发表日期:2010年12月31日 作者:whitewin 点击:102次 在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Micr ...

  9. c#endread怎么打印出来_C#教程之打印和打印预览

    最近研究一了一下关于PDF打印和打印预览的功能,在此小小的总结记录一下学习过程. 实现打印和打印预览的方法,一般要实现如下的菜单项:打印.打印预览.页面设置. PrintDocument类 Print ...

最新文章

  1. openCV内存释放问题
  2. Microsoft Dynamics CRM 2011 相关-摘自网络
  3. 关于Rabbitmq的routingkey的作用
  4. 阿里巴巴虾米的机器学习与深度学习进阶记
  5. 图片轮播,纯js+css
  6. 异步编程异常和死锁处理
  7. MapReduce-Reduce端join操作-Map阶段代码
  8. path png转svg_如何将jpg或png图像转换成svg并保存?
  9. [SQL]LeetCode180. 连续出现的数字 | Consecutive Numbers
  10. Win7 局域网内简单共享的设置
  11. cmw500综合测试仪使用_辽宁优质继电器综合测试仪供应商-广州炫通电气科技
  12. 分支定界法解TSP问题(one-tree算法定界)附java代码
  13. 《Python机器学习及实践:从零开始通往Kaggle竞赛之路》第4章 实战篇 学习笔记(三)4.3IMDB影评得分估计总结
  14. linux服务器被攻击怎么办
  15. 一名技术的原则—美团工作六年的认知(2020年)
  16. WPF学习教程链接总汇
  17. winform遍历bartender_C# 调用Bartender服务并打印bartender标签
  18. 岁月的剪影【七月My way】
  19. 云计算机平台 显示器,云桌面
  20. 洛克菲勒的38封信pdf下载_(完整word版)洛克菲勒留给儿子的38封信

热门文章

  1. 对于 iOS 开发基于经验的一些总结与规划
  2. 如何用python画长方形_Python如何绘制长方形
  3. 熊晨沣蓝牙实战--小程序蓝牙连接2.0
  4. java类似金山打字的键盘模拟_Java仿金山打字通打字母游戏《Java就该这样学》
  5. 中国APP系统软件开发公司十大排名榜
  6. JS 匿名函数——几种不同的调用方式
  7. php如何扫描局域网ip,python实现扫描局域网指定网段ip的方法
  8. 用 Python 处理 B 站下载视频
  9. 二分图前期基础之增广路
  10. JavaS第九节数组(一)