PrintDocument,PrintDialog与PrintPreviewDialog
2015-06-09 22:11
661 查看
1.使用PrintDocument进行打印
2.使用PrintDialog增加打印对话框
打印对话框如下图所示。
3使用PrintPreviewDialog增加打印预览对话框
打印时,会显示下图所示预览画面。
注意:PrintDialog与PrintPreviewDialog位于名称空间System.Windows.Forms(程序集为System.Windows.Forms.dll)中,而PrintDocument位于名称空间System.Drawing.Printing(程序集为System.Drawing.dll)中。
using System; using System.Drawing; using System.Drawing.Printing; using System.Windows.Forms; namespace PrintTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //实例化打印对象 PrintDocument printDocument1 = new PrintDocument(); //设置打印用的纸张,当设置为Custom的时候,可以自定义纸张的大小 printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custum", 500, 500); //注册PrintPage事件,打印每一页时会触发该事件 printDocument1.PrintPage += new PrintPageEventHandler(this.PrintDocument_PrintPage); //开始打印 printDocument1.Print(); } private void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { //设置打印内容及其字体,颜色和位置 e.Graphics.DrawString("Hello World!", new Font(new FontFamily("黑体"), 24), System.Drawing.Brushes.Red, 50, 50); } } }
2.使用PrintDialog增加打印对话框
using System; using System.Drawing; using System.Drawing.Printing; using System.Windows.Forms; namespace PrintTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //实例化打印对象 PrintDocument printDocument1 = new PrintDocument(); //设置打印用的纸张,当设置为Custom的时候,可以自定义纸张的大小 printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custum", 500, 500); //注册PrintPage事件,打印每一页时会触发该事件 printDocument1.PrintPage += new PrintPageEventHandler(this.PrintDocument_PrintPage); //初始化打印对话框对象 PrintDialog printDialog1 = new PrintDialog(); //将PrintDialog.UseEXDialog属性设置为True,才可显示出打印对话框 printDialog1.UseEXDialog = true; //将printDocument1对象赋值给打印对话框的Document属性 printDialog1.Document = printDocument1; //打开打印对话框 DialogResult result = printDialog1.ShowDialog(); if (result == DialogResult.OK) printDocument1.Print();//开始打印 } private void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { //设置打印内容及其字体,颜色和位置 e.Graphics.DrawString("Hello World!", new Font(new FontFamily("黑体"), 24), System.Drawing.Brushes.Red, 50, 50); } } }
打印对话框如下图所示。
3使用PrintPreviewDialog增加打印预览对话框
using System; using System.Drawing; using System.Drawing.Printing; using System.Windows.Forms; namespace PrintTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //实例化打印对象 PrintDocument printDocument1 = new PrintDocument(); //设置打印用的纸张,当设置为Custom的时候,可以自定义纸张的大小 printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custum", 500, 500); //注册PrintPage事件,打印每一页时会触发该事件 printDocument1.PrintPage += new PrintPageEventHandler(this.PrintDocument_PrintPage); //初始化打印预览对话框对象 PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog(); //将printDocument1对象赋值给打印预览对话框的Document属性 printPreviewDialog1.Document = printDocument1; //打开打印预览对话框 DialogResult result = printPreviewDialog1.ShowDialog(); if (result == DialogResult.OK) printDocument1.Print();//开始打印 } private void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { //设置打印内容及其字体,颜色和位置 e.Graphics.DrawString("Hello World!", new Font(new FontFamily("黑体"), 24), System.Drawing.Brushes.Red, 50, 50); } } }
打印时,会显示下图所示预览画面。
注意:PrintDialog与PrintPreviewDialog位于名称空间System.Windows.Forms(程序集为System.Windows.Forms.dll)中,而PrintDocument位于名称空间System.Drawing.Printing(程序集为System.Drawing.dll)中。
相关文章推荐
- 完全指南:在 Linux 中如何打印和管理打印机
- 基于Silverlight打印的使用详解,是否为微软的Bug问题
- IE中用VBScript不提示直接打印的代码
- JS调用打印方法设置页眉页脚的实例
- jQuery控制网页打印指定区域的方法
- 关于ASP.NET页面打印技术的常用方法总结
- ASP.NET 水晶报表打印功能实现代码
- JS 打印界面的CSS居中代码适用所有浏览器
- JS应用之禁止抓屏、复制、打印
- javascript打印大全(打印页面设置/打印预览代码)
- Java打印和打印预览机制实例代码
- Web打印解决方案之证件套打的实现思路
- JavaScript 实现打印,打印预览,打印设置
- asp.net css控制打印功能方法实例
- ASP.NET网页打印(只打印相关内容/自写功能)
- C#实现打印与打印预览功能的思路及代码
- JavaScript打印网页指定区域的例子
- window.print打印指定div指定网页指定区域的方法
- 利用javascript实现web页面中指定区域打印
- js调用iframe实现打印页面内容的方法