- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Silverlight打印基础知识
ilverlight 4 在 Silverlight 功能列表中添加了打印,我想通过向您介绍令我欣慰的小程序来探讨这一点。
该程序称为 PrintEllipse,名称就是它要执行的所有操作。 MainPage 的 XAML 文件包含一个按钮,图 1 中完整地显示了 MainPage 代码隐藏文件。
图 1 PrintEllipse 的 MainPage 代码?
using System;using System.Windows;using System.Windows.Controls;using System.Windows.Media;using System.Windows.Printing;using System.Windows.Shapes;namespace PrintEllipse{publicpartialclass MainPage : UserControl{public MainPage(){InitializeComponent();}void OnButtonClick(object sender, RoutedEventArgs args){PrintDocument printDoc =new PrintDocument();printDoc.PrintPage += OnPrintPage;printDoc.Print(Print Ellipse);}void OnPrintPage(object sender, PrintPageEventArgs args){Ellipse ellipse =new Ellipse{Fill =new SolidColorBrush(Color.FromArgb(255, 255, 192, 192)),Stroke =new SolidColorBrush(Color.FromArgb(255, 192, 192, 255)),StrokeThickness =24// 1/4 inch};args.PageVisual = ellipse;}}}??
请注意 System.Windows.Printing 的 using 指令。 在单击此按钮时,该程序将创建一个类型为 PrintDocument 的对象,并为 PrintPage 事件分配一个处理程序。 当程序调用 Print 方法时,将显示标准打印对话框。 用户可借此机会设置要使用的打印机,并设置各种打印属性,例如纵向或横向模式。
当用户单击打印对话框中的“打印”时,该程序将接收到对 PrintPage 事件处理程序的调用。 此特殊程序会通过创建 Ellipse 元素并将该元素设置为事件参数的 PageVisual 属性来进行响应。 (我故意选择淡彩色以便程序不会使用太多油墨。)很快,将从打印机中出来一页,且该页中填充了一个非常大的椭圆。
您可以从网站 bit.ly/dU9B7k 运行此程序并亲自检验。 当然,本文中的所有源代码也是可下载的。
如果您的打印机与大多数打印机一样,则内部硬件将禁止打印机打印到纸张的每个边缘。 打印机通常具有固有的内置边距,不会在边距内打印任何内容;打印内容限制在小于页面全部大小的“可打印区域”上。
关于此程序,您将注意到的是:椭圆整体显示在页面的可打印区域中,很显然,程序可以轻松达到此目的。 页面可打印区域的行为方式与屏幕上的容器元素非常类似:它仅在元素大小超出此区域时才对子项进行剪辑。 一些更复杂的图形环境(例如 Windows Presentation Foundation (WPF))未必有如此好的表现(当然,与 Silverlight 相比,WPF 可提供更多打印控制和灵活性)。
PrintDocument 和事件
除了 PrintPage 事件,PrintDocument 还定义了 BeginPrint 和 EndPrint 事件,但这些事件并非与 PrintPage 一样重要。 BeginPrint 事件表明打印作业的开始。 当用户通过按“打印”按钮退出标准打印对话框并给程序机会执行初始化时,将触发该事件。 调用 BeginPrint 处理程序之后,将对 PrintPage 处理程序进行首次调用。
要在特殊打印作业中打印多页的程序将这样操作。 在对 PrintPage 处理程序的每次调用中,PrintPageEventArgs 的 HasMorePages 属性初始将设置为 false。 当处理程序完成一页后,它只需将该属性设置为 true 即可表明至少必须再打印一页。 然后再次调用 PrintPage。 PrintDocument 对象维护 Printe
您可能关注的文档
- PROE和UG的比较.doc
- PPR管安装施工艺与方法-实验一.doc
- ProE在压铸模具设计及制造过程的运用技巧.doc
- PoladroidImageMaker使用方法.doc
- proe曲面造型的基本思路(精选).doc
- Proe草绘的重要性.doc
- Proe中的质量单位问题.doc
- protel99seDXP封装名快捷键教程元件名库13.doc
- PROTELDXP2004期末试题.doc
- Protel99SE常见问题及解决办法.doc
- 2022-2023学年江苏省常州市溧阳市四年级下学期期中数学真题及答案.pdf
- 2022-2023学年江苏盐城建湖县五年级上册语文期末试卷及答案.pdf
- 2021-2022学年河南省卫辉市人教版三年级上册期末考试数学试卷及答案.pdf
- 2022-2023学年浙江杭州萧山区五年级下册语文期中试卷及答案.pdf
- 2022-2023学年江苏省淮安市二年级下学期数学月考试题及答案.pdf
- 2021年山西公务员申论考试真题及答案-乡镇.pdf
- 2021年普通话考试内容题库最新版.pdf
- 2021-2022年江苏苏州太仓市六年级上册期中语文试卷及答案(部编版).pdf
- 2022-2023学年山东省滨州市博兴县四年级下学期期末数学真题及答案.pdf
- 2021年四川内江小升初语文真题及答案.pdf
文档评论(0)