zoukankan      html  css  js  c++  java
  • 使用打印方法时,要先引用命名空间: Using System.Drawing.Pringing

    使用打印方法时,要先引用命名空间: Using System.Drawing.Pringing

    PrintDocument类的重要属性和方法:
    属性:
    DocumentName  设置打印文档时要显示的文档名(在打印任务队列中显示)
    DefaultPageSettings 打印页面设置
    PrinterSettings 打印机设置
    方法:
    print() 进行打印
    事件:
    PrintPage  打印时触发的事件,在此事件对应的方法里用Grapics对象设置打印内容

    例:简单打印出label1.text的内容

     private void button1_Click(object sender, EventArgs e)
     {
     //实例化打印对象
     PrintDocument printdoc = new PrintDocument();
    //定义打印对象的事件
     printdoc.PrintPage += new PrintPageEventHandler(printdoc_PrintPage);
    //开始打印
     printdoc.Print();

     }

     void printdoc_PrintPage(object sender, PrintPageEventArgs e)
     {
    //设置字体
     Font f=new Font("宋体",20);
    //控制打印是什么内容 label1.text是打印内容 f是字体对象 brushes是填充颜色 10,10是打印到纸上的起始坐标
     e.Graphics.DrawString(label1.Text,f,Brushes.Black,10,10);
     }

    e.Graphics.DrawString(label1.Text,f,Brushes.Black,10,10); 我们现在来看一下前面这条语句,e.Graphics中的e对象是PrintPageEventArgs 类型的对象,PrintPageEventAgrs参数是专门为PrintPage事件提供数据的对象,是一个系统封装好并传递给你处理的对象。我们已经看到了,这个对象里面有一个Graphics属性,通过这个属性就可以为打印机提供打印内容。除此之外,PrintPageEventArgs参数里还有其他几个常用的重要属性,归纳起来如下:

    cancel 设置是否取消打印作业,true为取消打印

    HasMorePages 是否打印附加页,true为继续打印下一页,false为只打印当前页

    MarginBounds 获取表示边距以内页面部分的矩形区域,返回Rectangle对象

    PageBounds 获取表示页面全部区域的矩形区域,返回Rectangle对象

    Pagesettings 获取当前页的页设置对象,返回pagesettings对象

    PageBounds 可以想象成画图的纸张 MarginBounds想象成画图纸张除掉边缘的作图区域

    HasMorePages就是告诉打印机,你是否还有下一页要打印,如果没有就设置为False

    例:创建一个有打印功能的程序

    1.加入控件 PrintDocument 加入打印功能

    e.Graphics.DrawString("旺财你好",new Font("宋体",20),brushes.black,10,10);

    2.加入控件 PagePreviewDialog 加入预览功能 在document属性加入printDocument 在button中加入printpreviewdialog.showdialog();

    3.加入pageSetUpDialog 控件和PrintDialog控件,然后设置这两个控件Document属性为printDocument

    4.添加一个打印按钮,在按钮中加入如下代码

    //打印机设置
     if (printDialog.ShowDialog()==DialogResult.OK)
     {
     //页面设置
     if (pageSetupDialog.ShowDialog()==DialogResult.OK)
     {
     //开始打印
     printDocument.Print();
     }
     }

    分类: C#中winform学习资料

  • 相关阅读:
    Linux磁盘空间释放问题
    Linux终端复用神器-Tmux使用梳理
    Linux下路由配置梳理
    Gitlab利用Webhook实现Push代码后的jenkins自动构建
    Tomcat 内存溢出 "OutOfMemoryError" 问题总结 (JVM参数说明)
    Centos下SVN环境部署记录
    Docker格式化输出命令:"docker inspect --format" 学习笔记
    ngx_pagespeed-nginx前端优化模块介绍
    git pull 总要求输入账号和密码解决?
    Android Studio之BuildConfig类
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/3558910.html
Copyright © 2011-2022 走看看