在Windows窗体应用程序中打印和制作报表(精)

上传人:xmg****18 文档编号:120196404 上传时间:2020-02-05 格式:DOC 页数:7 大小:63.50KB
返回 下载 相关 举报
在Windows窗体应用程序中打印和制作报表(精)_第1页
第1页 / 共7页
在Windows窗体应用程序中打印和制作报表(精)_第2页
第2页 / 共7页
在Windows窗体应用程序中打印和制作报表(精)_第3页
第3页 / 共7页
在Windows窗体应用程序中打印和制作报表(精)_第4页
第4页 / 共7页
在Windows窗体应用程序中打印和制作报表(精)_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《在Windows窗体应用程序中打印和制作报表(精)》由会员分享,可在线阅读,更多相关《在Windows窗体应用程序中打印和制作报表(精)(7页珍藏版)》请在金锄头文库上搜索。

1、.word可编辑.第6章 在Windows窗体应用程序中打印和制作报表课堂练习在Windows窗体应用程序中添加打印支持 将PrintDocument控件添加到应用程序中3PrintDocument类为应用程序提供了什么功能?答:PrintDocument类使Windows 窗体应用程序能够对打印进程进行初始化(通过调用PrintDocument.Print方法),并且提供对打印机和页面设置的访问,这些页面设置可以控制打印文档的显示效果。 创建自定义的PrintPage过程5PrintDocument.PrintPage事件的目的是什么?答:使用对PrintDocument.PrintPage

2、事件进行处理的过程来分别构造打印文档的每个页面,控制创建的打印文档页面的数量,为打印文档的每个页面调整页面设置以及在需要时取消打印作业。使用PrintPageEventArgs 参数的Graphics对象来分别构造每页的页面内容。通过使用PrintDocument.Print 方法将Graphics对象传递给打印设备。 11为什么应用程序不能显示多页呢?答:因为在默认的情况下PrintPageEventArgs对象的HasMorePages属性为False。当打印作业包含多个文档页面时,必须为打印循环开发程序逻辑。课堂练习:使用PrintPreviewDialog控件 在应用程序中添加Prin

3、tPreviewDialog控件3PrintPreviewDialog控件出现在“视图设计器”窗口的什么位置?答:PrintPreviewDialog控件将被添加到“视图设计器”窗口底部的组件托盘中。 创建显示打印文档的PrintPreview过程6有没有方法能够使得对话框窗口比默认的大一些。答:有。可以使用对话框的WindowState属性将窗口的默认状态设为Maximized。 查看其它一些显示打印文档的方法4什么时候使用PrintPreviewControl显示打印文档而不是使用PrintPreviewDialog?答:当需要自定义的应用程序的打印预览功能时,可使用PrintPrevie

4、wControl来显示文档。课堂练习:使用PageSetupDialog 控件 在应用程序中添加PageSetupDialog控件3PageSetupDialog控件出现在设计视图窗口的什么位置?答:PageSetupDialog控件被添加到设计视图窗口底部的组件托盘中。 创建显示页面设置的PageSetup过程5运行PrintPreviewDialog应用程序,使用菜单或按钮来显示Page Setup对话框。为什么出现错误?答:PageSetupDialog控件需要提供表示文档页面设置的PageSettings对象。9显示打印文档的预览。为什么新的设置没有生效?答:尽管PageSetupDi

5、alog自动地将新设置放到MyPageSettings对象中,但仍然必须将页面设置赋给PrintDocument对象。 查看PageSetupDialog控件的其它成员3如何使用PageSetupDialog的其它成员?答:可以使用其它的成员来自定义PageSetupDialog以及控制用户可以选择的设置范围。课堂练习:使用PrintDialog控件 将PrintDialog控件添加到应用程序中3PrintDialog 控件出现在设计视图窗口的什么位置?答:PrintDialog控件将被添加到设计视图窗口底部的组件托盘中。 创建显示Print对话框的PrintDoc过程5运行PrintDial

6、og应用程序,然后单击用来显示“打印”对话框的菜单项或按钮。为什么“打印”对话框没有打开?答:在显示PrintDialog之前必须对PrintDialog.Document属性进行设置。 使用PrintDocument.Print方法打印文档3文档为什么没有被打印?答:PrintDialog并没有调用PrintDocument.Print方法必须自己添加代码。然而,这意味着必须知道用户点击了哪个对话框按钮。可以使用DialogResult对象进行确认。 课堂练习:使用GDI+构造打印文档内容 创建钢笔、画笔和字体9输入的一些代码语句是否需要对Drawing2D命名空间的引用?答:是的。用来设置

7、DashStyle和DashCap的代码语句使用Drawing2D命名空间所提供的枚举。 在页面上测量和定位文本5如何绘制右对齐文本?答:可以通过测量文本字符串和建立水平位置绘制右对齐文本,所建的水平位置等于定义的右端位置与文本字符串的宽度的差。习题答案1. 以下那个Print方法可以打印10页a)public class myprintprivate int pages;public void Print()PrintDocument pd = new PrintDocument(); pd.PrintPage += new PrintPageEventHandler(pd_PrintPag

8、e);pages=1;pd.Print();private void pd_PrintPage(object sender, PrintPageEventArgs ev) ev.Graphics.DrawString(this is page+pages.ToString(),new Font(Arial,10),System.Drawing.Brushes.Black,10,10);pages+;if (pages =10) ev.HasMorePages = true;else ev.HasMorePages = false;b)public class myprintprivate in

9、t pages;public void Print()PrintDocument pd = new PrintDocument(); pages=1;pd.Print();private void pd_PrintPage(object sender, PrintPageEventArgs ev) ev.Graphics.DrawString(this is page+pages.ToString(),new Font(Arial,10),System.Drawing.Brushes.Black,10,10);pages+;if (pages =10) ev.HasMorePages = tr

10、ue;else ev.HasMorePages = false;c)public class myprintprivate int pages;public void Print()PrintDocument pd = new PrintDocument(); pages=1;pd.Print();pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);private void pd_PrintPage(object sender, PrintPageEventArgs ev) ev.Graphics.DrawString(this is

11、 page+pages.ToString(),new Font(Arial,10),System.Drawing.Brushes.Black,10,10);pages+;if (pages =10) ev.HasMorePages = true;else ev.HasMorePages = false;d)public class myprintprivate int pages;public void Print()PrintDocument pd = new PrintDocument(); pd.Print();private void pd_PrintPage(object sende

12、r, PrintPageEventArgs ev) ev.Graphics.DrawString(this is page+pages.ToString(),new Font(Arial,10),System.Drawing.Brushes.Black,10,10);pages+;if (pages =10) ev.HasMorePages = true;else ev.HasMorePages = false;答:A2. 下面代码是一个使用PrintPreviewDialog控件来显示文档打印预览a)printPreviewDialog1.PrintPreviewControl.StartP

13、age = 0;printPreviewDialog1.Document = printDocument1;printPreviewDialog1.ShowDialog();printDocument1.Print();b)printDocument1.Print();printPreviewDialog1.PrintPreviewControl.StartPage = 0;printPreviewDialog1.Document = printDocument1;printPreviewDialog1.ShowDialog();c)printPreviewDialog1.PrintPrevi

14、ewControl.StartPage = 0;printPreviewDialog1.ShowDialog();printPreviewDialog1.Document = printDocument1;printDocument1.Print();d)printDocument1.Print();printPreviewDialog1.PrintPreviewControl.StartPage = 0;printPreviewDialog1.ShowDialog();printPreviewDialog1.Document = printDocument1;答:A3. 在printDocument1打印之前显示一个page setup dialog已接受某些打印设置.a)PageSetupDialog pageSetupDialog1=new PageSetupDialog ();pageSetupDialog1.Document = printDocument1;pageSetupDialog1.ShowDialog();printDocument1.Print();b)Page

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号