关于C#的windons窗体的打印功能知识点解析和功能实例

在windows应用程序中文档的打印是一项非常重要的功能,在打印程序的设计中复杂难度最大的属于打印功能设置,因为中途需要计算一些复杂的计算过程。比如页面开始打印的起始位置和结束位置,换行,分页等。

例图1
这里写图片描述

vs2013自带了打印控件。基本可以满足打印与打印预览的需求。
个别打印特殊要求需要重写控件功能。
本程序使用五种打印需要的控件分别是:
PrintDocument 打印输出控件
PrintDialog 构造对话框控件 -> 打印设置功能
PageSetupDialog 构造对话框控件 -> 页面设置功能
PrintPreviewDialog 构造对话框控件 -> 打印预览功能
PrintPreviewControl 打印预览控件 -> 独立的打印预览显示
例图2
这里写图片描述

实现打印功能的核心是PrintDocument类,该类的代码命名空间是System.Drawing.Printing,封装了当前的打印设置页面以及所有的与打印有关的事件和方法。
这个类包括以下几个属性,事件和方法

  1. 属性部分
    1、PrinterSettings属性
    存放打印机的设置信息,这个属性不需要程序员设置,因为它是由打印对话框获取
    2、PrintCountroller属性
    控制打印过程
    3、DefaultPageSettings属性
    存放页面设置信息,打印纸大小方向等。也不需要程序员设置,因为它是由页面设置对话框获取的。
    4、DocumentName属性
    指定文档名称,出现在打印机状态窗口中

  2. 事件与方法
    BeginPrint
    将要打印文档时发生。
    PrintPage
    对于要打印的每一页发生一次。事件接受一个PrintPageEventArgs参数该参数封装了打印相关的信息。
    这里写图片描述
    PrintPageEventArgs参数有很多重要的属性
    1、Cancel 取消打印
    2、Graphics 页面的绘图对象
    3、HasMorePages 是否还有要打印的页面

Print方法:该方法没有参数 调用它将按照当前设置开始打印.
首先先拉四个控件

            // printDocument1
            // 
            this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printDocument1_PrintPage);
            // 
             // printDialog1
            // 
            this.printDialog1.UseEXDialog = true;
            // 
            // printPreviewDialog1
            // 
            this.printPreviewDialog1.AutoScrollMargin = new System.Drawing.Size(0, 0);
            this.printPreviewDialog1.AutoScrollMinSize = new System.Drawing.Size(0, 0);
            this.printPreviewDialog1.ClientSize = new System.Drawing.Size(400, 300);
            this.printPreviewDialog1.Enabled = true
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值