CWinform程序设计4报表及打印.ppt_第1页
CWinform程序设计4报表及打印.ppt_第2页
CWinform程序设计4报表及打印.ppt_第3页
CWinform程序设计4报表及打印.ppt_第4页
CWinform程序设计4报表及打印.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于C#的Windows应用程序设计,报表及打印,学习内容,在 Windows 窗体应用程序中进行打印 使用打印预览、页面设置和打印对话 使用 GDI+ 构建打印文档内容 使用 Crystal Report 创建报表,1、在Windows窗体应用程序中进行打印,.NET Windows窗体应用程序中的打印操作 PrintDocument对象 PrintPage事件&PrintPageEventArgs对象 在Windows窗体应用程序中启用打印 课堂练习 在 Windows 窗体应用程序中添加打印支持,1.1 .NET Windows窗体应用程序中的打印操作,用户支持功能?,1. PrintDocument 对象 启用打印功能,怎么做?,然后, 怎么做?,接下来如何进行打印动作?,1.2 PrintDocument对象,PrintDocument 对象 提供打印文档的功能 提供属性配置打印内容,注意: 打勾的表示最常用的属性、事件和方法,1.2 PrintDocument对象,PrintDocument 属性 DefaultPageSettings PrinterSettings等 PrintDocument 事件 BeginPrint EndPrint PrintPage QueryPageSettings PrintDocument 方法 Print等,1.3 PrintPage事件&PrintPageEventArgs对象,PrintPage 事件是打印文档的主要事件,要打印你就需要处理该事件, 并且使用代码来设置打印内容 你所需要的对象都在 PrintPageEventArgs 当中 , 由事件处理器提供, 一共包含6个成员组件:Graphics 代表被打印的页面, HasMorePages 标识是否多页, PageSettings 读取当前页面的页面设置, 另外三个是 Cancel用来取消作业, MarginBounds 和 PrintBounds 返回当前页面边距信息 注意:要修改页面设置, 需要处理 QueryPageSettings 事件,PrintPage 事件包括两个参数: 一个对象作为发送者, 另一个 PrintPageEventsArgs 对象 PrintPage 事件处理子程序包含了初始化打印文档上下文的程序逻辑以确保整个文档被打印,PrintPageEventArgs 对象提供初始化打印文档页面需要的组件 PageSettings、Graphics和 HasMorePages 成员需要关联使用,PrintPagesEventArgs Object,PrintPage 事件,1.4 在Windows窗体应用程序中启用打印,Print Page Event,使用类读取页面设置 为输出建立字体和画刷对象 建立页面区域 利用Graphics类的方法定位输出文字,PrintPagesEventArgs Class,PrintPageEventArgs,Graphics 对象 HasMorePages PageSettings,PrintDocument Object,修改打印设置 为 PrintPage 事件配置打印逻辑 调用 Print 方法,Print 方法,调用 PrintPage 检查 HasMorePages 属性,DefaultPageSettings,对话框,对话框的 Document 属性设置到 PrintDocument 对象,1.5 课堂练习-在窗体应用程序中添加打印支持,在本次练习中,将要: 给项目添加 PrintDocument 控件 添加 PrintPage 事件处理程序, 附加代码来初始化打印文档的上下文 设置 HasMorePages 属性来表示打印文档是否存在多页,2、使用打印预览、页面设置、打印对话框,使用 PrintPreviewDialog 控件 课堂练习 使用 PrintPreviewDialog 控件 使用 PageSetupDialog 控件 课堂练习 使用 PageSetupDialog 控件 使用 PrintDialog 控件 课堂练习 使用 PrintDialog 控件,2.1 使用PrintPreviewDialog控件,PrintPreviewDialog 所见即所得的显示打印预览效果 要显示一个打印预览 1. 创建 PrintPreviewDialog 组件实例 2. 设置 PrintDocument对象的 Document 属性 3. 配置 PrintPreviewDialog 显示设置包含 PrintPreviewControl 4. 通过 ShowDialog 方法显示预览,PrintPreviewDialog,2.1 使用PrintPreviewDialog控件-代码,/ Visual C# PrintPreviewDialog previewDialog = new PrintPreviewDialog(); previewDialog.Document = PrintDocument1; previewDialog.PrintPreviewControl.StartPage = 0; previewDialog.ShowDialog();,2.2 课堂练习-使用PrintPreviewDialog控件,在本次练习中, 将要: 添加 PrintPreviewDialog 控件 创建 PrintPreview 子程序 修改 PrintPreviewDialog 对话框的显示设置,2.3 使用PageSetupDialog控件,PageSetupDialog 用来设置 Windows Forms applications 的页面细节 调节边界和边距 页眉和页脚 横向 vs 纵向 PageSetupDialog 用来定制页面设置 1. 建立一个 PageSetupDialog 控件实例 2. 使用 ShowDialog 在运行时显示对话框 3. 使用 DefaultPageSettings 或者 PageSettings 类定制文档特性,PageSetupDialog,2.3 使用PageSetupDialog控件-代码,/ Visual C# private void PageSetup() try PageSetupDialog pageDialog = new PageSetupDialog(); if (storedPageSettings = null) storedPageSettings = new PageSettings(); pageDialog.PageSettings = storedPageSettings ; pageDialog.ShowDialog(); catch(Exception ex) MessageBox.Show(“An error occurred - “ + ex.Message); ,2.4 课堂练习-使用PageSetupDialog控件,在本次练习中,将要: 给程序添加 PageSetupDialog 控件 创建 PageSetup 子程序显示页面设置 将页面设置指定到 PrintDocument 对象,2.5 使用PrintDialog控件,使用 PrintDialog 定制打印相关设置 定制打印机和打印任务属性 定制打印范围和控制设置 要利用 PrintDialog 控件为用户选择一个打印机 1. 创建 PrintDialog 组件的1个实例 2. 设置 PrintDocument 对象的 Document 属性 3. 利用 DialogResult 捕获用户输入并且显示打印对话框,PrintDialog,2.5 使用PrintDialog控件-代码,/ Visual C# private void PrintDoc() PrintDialog1.Document = PrintDocument1; DialogResult userResponse; userResponse = PrintDialog1.ShowDialog(); if (userResponse = DialogResult.OK) PrintDocument1.Print(); ,2.6 课堂练习-使用PrintDialog控件,在本次练习中 ,将要: 添加PrintDialog控件到你的程序 为显示打印对话框创建PrintDoc子程序 利用PrintDocument.Print方法打印文档,3、使用GDI+构建打印文档内容,GDI+ Graphics 对象 创建和使用 Pen、Brushes、 Font 对象 在 PrintPage 事件过程中绘制文本 使用StreamReader对象生成打印文档内容 课堂练习 使用 GDI+ 构造打印文档内容,3.1 GDI+,GDI+ (新的图像设备接口) 让应用程序可以为视频显示和打印机产生图像和格式化文本 允许应用程序开发者创建设备无关的应用程序 GDI+ 的 3 个部分 2-D 向量图形 文本 图像,3.2 Graphics对象,Graphics 对象 提供绘制内容表面 提供在特定位置绘制文本和图像的方法 提供修改内容的各种工具,Graphics myGraphic = this.CreateGraphics(); 使用画笔绘制线条和框架 myGraphic.Graphics.DrawLine(myPen,X1,Y1,X2,Y2) ; 使用画刷填充形状 myGraphic.FillRectangle(myBrush,X1,Y1,X2,Y2); 使用字体和画刷绘制文本 myGraphic.DrawString(myText,myFont,myBrush,X1,Y1);,3.3 创建和使用Pen、Brushes、Font对象,Pen myPen = new Pen(Color.Blue);,Font myFont = new Font(“Arial“, 12);,SolidBrush myBrush = new SolidBrush(Color.Blue);,3.4 在PrintPage事件过程中绘制文本,要绘制文本 1. 计算文本位置 2. 为文本选择字体和画刷 3. 调用 Graphics.DrawString 方法 要匹配文本,e.Graphics.DrawString(myText, myFont, myBrush, X1, Y1);,textWidth = e.Graphics.MeasureString(myText,myFont).Width; textHeight = e.Graphics.MeasureString(myText,myFont).Height;,3.5 使用StreamReader对象生成打印文档内容,使用 StreamReader 按行读取来自一个标准文本文件的信息,private void btnPrintPreviewControl_Click(object sender, System.EventArgs e) try StreamToPrint = new StreamReader(“printMe.txt”); try PrintPreview(); finally StreamToPrint.Close(); ,3.6 课堂练习-使用GDI+构建打印文档内容,在本次练习中,将要: 创建画笔、 刷子、字体 创建 2-D 向量对象 匹配和定位页面上面的文本,4、使用Crystal Report创建报表,Crystal Report 使用 Crystal Report 创建和格式化报表 使用 Crystal Report 查看器查看报表 为报表添加数据集 课堂练习 创建和查看 Crystal Report,4.1 Crystal Report,.NET 的标准报表工具 允许从头或者利用报表专家向导创建报表 可以使用任何开发语言 基于 Windows 和 Web 应用程序的报表查看器 报表的运行时定制 简单的报表交互 数据可视化和分析能力,好处,/vstudio/partners/tools/crystaldecisions.asp,Crystal Report,4.2 使用Crystal Report创建和格式化报表,使用 Report Expert 创建 Crystal Report,4.3 使用Crystal Report查看器查看报表,要使用 Crystal Report 查看器查看一个报表,4.4 为报表添加数据集,数据集合让你可以创建脱机报表(不用实时连接数据库) 定制 Form_Load 事件代码添加 DataSet,private CrystalReport.StoreSalesReport report; storeSalesSqlDataAdapter.Fill(sto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论