vb.net 教程 11-1 打印组件 4 PrintDocument 1
发布时间:2020-12-17 07:32:27 所属栏目:百科 来源:网络整理
导读:前几节讲了PrintDialog、PageSetupDialog,实际对应了打印机设置、页面设置, 但是,光靠设置是不能完成打印的。 本节讲的PrintDocument就是完成打印的组件。 PrintDocument提供了Print()方法,实际触发它的PrintPage()事件,在该事件中完成打
前几节讲了PrintDialog、PageSetupDialog,实际对应了打印机设置、页面设置,
但是,光靠设置是不能完成打印的。
本节讲的PrintDocument就是完成打印的组件。
PrintDocument提供了Print()方法,实际触发它的PrintPage()事件,在该事件中完成打印。
同时,PrintDocument组件还提供了EndPrint()事件,通过这个事件,可以获知打印完成情况。
直接看例子:
来看具体的代码:
'按下打印按钮 Private Sub Button4_Click(sender As Object,e As EventArgs) Handles Button4.Click PrintDialog1.Document = PrintDocument1 If PrintDialog1.ShowDialog = DialogResult.OK Then TextBox1.Text &= "开始打印" & ControlChars.CrLf PrintDocument1.Print() End If End Sub '打印页面 Private Sub PrintDocument1_PrintPage(sender As Object,e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage Dim g As Graphics = e.Graphics g.DrawRectangle(New Pen(New SolidBrush(Color.Red),2),New Rectangle(10,100,60)) g.DrawString("这是一个打印的例子",New Font("宋体",20),New SolidBrush(Color.Blue),New Point(10,62)) g.DrawImage(PictureBox1.Image,600,400),New Rectangle(0,PictureBox1.Image.Width,PictureBox1.Image.Height),GraphicsUnit.Pixel) End Sub '打印完毕 Private Sub PrintDocument1_EndPrint(sender As Object,e As PrintEventArgs) Handles PrintDocument1.EndPrint TextBox1.Text &= "打印完毕" End Sub
我先将代码做个分析,看完你就会觉得很简单:
1、先将PrintDialog1的Document属性设置为PrintDocument1,这一步也可以在vs编辑器中PrintDialog1的属性那里设置。
2、接着,显示打印对话框,如果是确定的话,那就调用PrintDocument1的Print()方法。
由于调用了Print()方法,引发PrintDocument1.PrintPage事件,
在PrintPage事件中才是真正的打印:
PrintPage的参数e,这是一个PrintPageEventArgs类,提供了6个属性:
Cancel:指示是否取消打印。
Graphics:只读,提供了在打印页面上绘图的Graphic。 HasMorePages:指示是否还要继续打印。 MarginBounds:只读,表示边距以内的页面部分的矩形区域。 PageBounds:只读,表示页面全部区域的矩形区域。 PageSettings:只读,当前页的页设置,是一个PageSettings类。
在代码中使用了Graphics属性,这也是打印必须要使用的,获得Graphics之后,就可以在这上面打印(作画)了。
最后打印完毕,触发PrintDocument1的EndPrint事件。
来看看运行情况:
按下打印按钮
由于我的电脑上没有真实的打印机,选择Xps虚拟打印机(这也是安装office后微软提供的虚拟打印机),按下打印对话框中的”打印“按钮,
接着就会出现保存文件对话框:
ok,保存到d盘,反正不是真实打印,名称随便。当然真实打印不会出现询问你保存到文件的。
好了,按下”保存“,马上就会提示打印完毕:
来看看刚才保存的”dd.oxps“文件,双击就可以使用默认的 xps查看器 打开:
再提醒一下,如果是真实打印机,那么就不会打印到文件。
学习更多vb.net知识,请参看
vb.net 教程 目录
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 使用析构函数的C值表达式在Visual Studio 2010中
- flexpaper在flex4.6SDK中的应用
- c# – 从codebehind获取edititemtemplate的值
- postgresql – 为什么Postgres在jsonb列上查找这
- [深入剖析React Native]手势响应讲解
- Oracle常用查询
- CetOs6.5下 jsoncpp安装 NCURSES的安装
- Cocos2d-x开发教程 第一节 开发环境安装与示例项
- ios – 在Swift Bridging Header中包含Google An
- ruby – Sinatra Locals vs. Instance Variables
热点阅读