栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

C#打印类PrintDocument、PrintDialog、PrintPreviewDialog使用示例

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#打印类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)中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/125101.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号