欢迎来到天天文库
浏览记录
ID:22371543
大小:58.00 KB
页数:5页
时间:2018-10-28
《mis开发中.net framework的打印功能--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、MIS开发中.netFramework的打印功能>> Microsoft.Frameent类这个类属于System.DraentName属性 指定文档名称,出现在打印机状态窗口中 1、BeginPrint事件 在打印之前发出 2.PrintPage事件 每打印一页是发出,事件接受一个PrintPageEventArgs参数该参数封装了打印相关的信息 PrintPageEventArgs参数有很多重要的属性 1Cancel取消打印 2Graphics页面的绘图对象 3HasMorePages是否还有要打印的页面 Print方法该方法没有参数调用它将按照
2、当前设置开始打印 若实现打印功能首先构造PrintDocument对象添加打印事件 PrintDocumentprintDocument; privatevoidInitializeponent() { ... printDocument=neent(); printDocument.PrintPage+=neent_PrintPage); ... } 实现打印事件功能 打印和绘图类似都是调用Graphics类的方法进行画图不同的是一个在显示器上一个在打印纸上并且打印要进行一些复杂的计算 如换行分页等。 privatevoidprintDocum
3、ent_PrintPage(objectsender,PrintPageEventArgse) { Graphicsg=e.Graphics;//获得绘图对象 floatlinesPerPage=0;//页面的行号 floatyPosition=0;//绘制字符串的纵向位置 intcount=0;//行计数器 floatleftMargin=e.MarginBounds.Left;//左边距 floattopMargin=e.MarginBounds.Top;//上边距 stringline=null;行字符串 FontprintFont=this.te
4、xtBox.Font;//当前的打印字体 SolidBrushmyBrush=nep;((line=lineReader.ReadLine())!=null)) { yPosition=topMargin+(count*printFont.GetHeight(g)); g.DrayBrush,leftMargin,yPosition,neat()); count++; } 如果本页打印完成而line不为空说明还有没完成的页面这将触发下一次的打印事件在下一次的打印中lineReader会 自动读取上次没有打印完的内容因为lineReader是这个打印方法外的
5、类的成员它可以记录当前读取的位置 if(line!=null) 12下一页>>>>这篇文章来自..,。e.HasMorePages=true; else e.HasMorePages=false; } 打印设置,构造打印对话框将对话框中设置的Document属性赋给printDocument这样会将用户的设置自动保存到printDocument 的PrinterSettings属性中 protectedvoidFileMenuItem_PrintSet_Click(objectsender,EventArgse) { PrintDialogprintDi
6、alog=neent=printDocument; printDialog.Sho_PageSet_Click(objectsender,EventArgse) { PageSetupDialogpageSetupDialog=neent=printDocument; pageSetupDialog.Sho_PrintVieent=printDocument; lineReader=neent的Print()方法因为用户可能在打印之前还要再更改打印设置所以 在这里再次显示打印设置对话框 protectedvoidFileMenuItem_Print_Clic
7、k(objectsender,EventArgse) { PrintDialogprintDialog=neent=printDocument; lineReader=neent.Print(); } catch(Exceptionexcep) { MessageBox.Shoent.PrintController.OnEndPrint(printDocument,neent对象添加printDocument的PrintPage方法 2实现PrintPage方法4在用户的单击事件中调用printDocument
此文档下载收益归作者所有