PrintDocument,PrintDialog与PrintPreviewDialog

1.使用PrintDocument进行打印

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)中。

勇于接受自己的不完美,认清自己不足的地方,

PrintDocument,PrintDialog与PrintPreviewDialog

相关文章:

你感兴趣的文章:

标签云: