[转载]PrintDocument,PrintDialog与PrintPreviewDia。。。

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[转载]PrintDocument,PrintDialog与PrintPreviewDia。

⼀、使⽤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); }
}
}
⼆、使⽤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();
//将eEXDialog属性设置为True,才可显⽰出打印对话框
eEXDialog = 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); }
}
}
打印对话框如下图所⽰:
三、使⽤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)中。

相关文档
最新文档