使用打印方法时,要先引用命名空间: 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学习资料
使用打印方法时,要先引用命名空间: Using System.Drawing.Pringing的更多相关文章
- .net如何引用System.Drawing.Drawing2D 命名空间和System.Drawing.Image及其相关概念
其实这个很简单,直接在引用那里单击右键选择添加框架,然后找到System.Drawing就OK了, 其实并没有网上所说的那样需要下载什么Drawing.BLL. 首先Syetem.Drawing.Dr ...
- 使用引用类型变量来访问所引用对象的属性和方法时,Java 虚拟机绑定规则
通过引用类型变量来访问所引用对象的属性和方法时,Java 虚拟机将采用以下绑定规则: 实例方法与引用变量实际引用的对象的方法进行绑定,这种绑定属于动态绑定,因为是在运行时由 Java 虚拟机动态决定的 ...
- 打印页面时a标签不显示URL的方法
以前写博客啊,总想写一篇大作,然后希望能挂到博客园首页,隔一会儿看看阅读量有多少.其实哪有那么多大作,大部分时间都是解决了一个小问题,然后需要记录一下.比如下面这篇. 今天遇到一个需求是,打印网页时, ...
- [改善Java代码]覆写equals方法时不要识别不出自己
建议45: 覆写equals方法时不要识别不出自己 我们在写一个JavaBean时,经常会覆写equals方法,其目的是根据业务规则判断两个对象是否相等,比如我们写一个Person类,然后根据姓名判断 ...
- c#引用命名空间的作用
System 包含用于定义常用值和引用数据类型.事件和事件处理程序.接口.属性和处理异常的基础类和基类.其他类提供支持下列操作的服务:数据类型转换,方法参数操作,数学计算,远程和本地程序调用,应用程序 ...
- C#面向对象---对象成员、方法加载、引用类库
一.方法重载: 1.两个函数同名,就互相构成方法的重载关系 2.重载的函数,必须跟其他函数之间具有不同的参数类型或参数个数 二.字段与属性 类的字段: 类里面是可以直接定义变量的,这些变量就叫类的字段 ...
- Java 方法的重载及引用数据类型(类)
方法的重载 我们假设要在程序中实现一个对数字求和的方法,由于参与求和数字的个数和类型都不确定,因此要针对不同的情况去设计不同的方法. Java允许在一个类中定义多个名称相同的方法,但是参数的类型或个数 ...
- 转网页WB.ExecWB控件打印方法
网页WB.ExecWB控件打印方法 2010-02-01 12:48 代码: <table width="100%" cellpadding="1" on ...
- 分享一个牛逼的PHP无限极分类生成树方法,巧用引用(转)
你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了.这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法,巧在引用,整理分享了. function g ...
随机推荐
- Rails 5 Test Prescriptions 第4章 什么制造了伟大的测试
伴随着程序成长,测试变长,复杂性增加,如何更高效的写测试,对以后开发不会造成麻烦. 测试本身没发被测试,所以一定要清楚,可控.不要加循环,不要过于复杂的自动编程. Cost and Value 成本和 ...
- PowerDesigner16工具学习笔记-建立BPM
根据不同用途,BPM分为分析性(Analysis).执行型(Executable)和协作型(Collaborative) BPM的类型 业务流程语言 描述 分析型 Analysis 提供流程层次 ...
- torchnet package (2)
torchnet package (2) torchnet torch7 Dataset Iterators 尽管是用for loop语句很容易处理Dataset,但有时希望以on-the-fly m ...
- UVALive-3887 Slim Span (kruskal)
题目大意:定义无向图生成树的最大边与最小边的差为苗条度,找出苗条度最小的生成树的苗条度. 题目分析:先将所有边按权值从小到大排序,在连续区间[L,R]中的边如果能构成一棵生成树,那么这棵树一定有最小的 ...
- c++ 中的 set
set (集合) 中的元素是排序好的,而且是不重复的. 例题:hdu 4989 题目大意:求一组数列中任意两个不重复元素和,再求不重复和的和. #include <bits/stdc++.h&g ...
- bzoj2843&&1180
题解: lct 和上一题差不多 这一题还要判断是否有链接 其实直接并查集判断就可以了 代码: #pragma GCC optimize(2) #include<bits/stdc++.h> ...
- 线程互斥,mutex
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- 重构 demo篇
本文背景为学习重构一书中的一些信息的记录. 该篇以一个影片租赁为背景.通过一层层的重构,最终实现相对来说比较完美的代码. 文中经典语句摘要: “如果它没有坏,就不要动它 .” 用来形容我们工作中一些比 ...
- flex布局在垂直居中里,元素超过容器大小后,不能通过滚动条滚动到顶端,这是个flex的bug
The Problem Flexbox makes centering very easy. By simply applying align-items: center and justify-co ...
- Python数据类型-01.数字和布尔值
本节主要介绍Python中的基础知识中的数据类型,数字和布尔值 介绍几个知识点:1)内置函数print()的用法,直接打印括号里面的内容,或者print后跟多个输出,以逗号分隔.2)内置函数type( ...