如何浅析C#打印和C#打印预览的实现

技术如何浅析C#打印和C#打印预览的实现如何浅析C#打印和C#打印预览的实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们谈到C#打印和

如何分析C#打印和C#打印预览的实现,很多新手对此不是很清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。

我们来说说C#打印和C#打印预览的实现,主要包括三个部分:页面设置、打印预览和打印。打印的原理是:生成mdi文件,当系统遇到mdi时,会通过打印自动处理。所以,无论使用什么样的模板或方法;在PrintPage的事件处理中生成要打印的内容的图片就可以了!的主要支持类包含在命名空间系统中。绘图。打印并在System.Drawing.dll装配中实现。C#打印和C#打印预览的实现主要由PrintDocument类完成,还包括几个辅助类:PrintDialog、PrintPreviewDialog和PageSetupDialog。

打印类是实现打印和打印预览的中心类,实际的打印操作都是通过这个类来完成的。本类打印操作流程:

1)创建一个类实例print document prindt=new print document();

2)设置类实例的属性。

3)为这个类的打印事件添加一个事件处理函数。

4)调用该类的Print函数进行打印。

打印:printDt。print();

有三个属性与C#打印和C#打印预览的实现相关:

DefaultPageSettings:保存打印文档的默认页面设置,如大小、打印方向等,是PageSettings类型的变量。

DocumentName:用于设置PrintDocument类实例的名称。是字符串类型的变量。

打印机设置:包含打印机的设置信息,可以通过“打印”的通用对话框进行设置。

打印前应正确设置这三个属性。PageSettings类和PrinterSettings类是与PrintDocument类的属性设置相关的类。

页面设置类指定单个打印页面的设置。

PrinterSettings类包含打印机的设置信息。在这两个类中,用户可以完全控制打印机和打印页面。

C#打印和C#打印预览打印事件的处理打印文档类提供了四个事件来处理打印操作。

BeginPrint事件

此事件在调用Print方法之后和打印第一页之前触发。在这种情况下,您可以设置参数,如应用于所有页面的打印机属性和页面属性,以及使用的字体。

事件代理是PrintEventHandler,事件参数类型是PrintEvnetArgs。PrintEvnetArgs中有一个“取消”属性,可以设置为“真”以禁用打印操作。

this . printdt . BeginPrint=NewPrintEventHandler(this。beginpriting);PrivateVoidbeginprinting(对象发送方,printeventeargse){//相应处理开始打印事件}结束打印事件

打印页面时会触发此事件。在这种情况下,可以进行一些资源清理。事件代理是PrintEventHandler,事件参数类型是PrintEvnetArgs。

打印页面事件

打印每页时触发此事件,每页的打印在此事件中完成。用户必须为此事件提供一个处理程序来完成实际的打印操作。

代理类型为PrintPageEvnetHandler,事件参数类型为PrintPageEventArgs。

printDt。PrintPage=new printpageevnethandler(这。printeeverypage);privatedvoitprinteeverypage(object sender,PrintPageEventArgs){ Graphics GH=e . Graphics;//获取绘图对象//执行特定的绘图操作//例如gh。DrawingString(.);如果(仍有页面未打印)e . HasMorePages=true埃尔

se  e.HasMorePages = false;   }

◆QueryPageSettings事件

这个事件在每个PrintPage事件之前被触发,可以使用这个事件来设置打印每一个页面的页面设置。

事件代理类型为 QueryPageSettingsEventHandler,事件参数的类型为QueryPageSettingsEventArgs。事件参数中包含一个PageSettings属性。

printDt.QueryPageSettings +=   new QueryPageSettingsEventHandler(this.SetEveryPage);   private void SetEveryPage(object sneder, QueryPageSettingsEventArgs e)   {  //根据不同的页面来设置e.PageSettings属性  …  }   PrintDialog对话框 为了获取打印机的设置信息,.Net框架未用户提供了PrintDialog类。   PrintDialog printDlg = new PrintDialog();

在显示“打印”对话框之前,还需要设置它的属性。

其中最重要的一个属性就是Document属性,类型为PrintDocument.,在对话框中所做的任何设置都将保存在这个属性中。

PrinterSettings属性也用来保存用户在对话框中所做的设置。

在显示“打印”对话框之前,必须设置Document和PrinterSettings属性中的一个。

对话框中显示“打印到文件”按钮 AllowPrintToFile属性

显示选择页面范围的控件 AllowSelection属性

是否显示帮助按钮ShowHelp属性

//打印预览  //PrintPreviewDialog ppd = new PrintPreviewDialog();   PrintDocument pd = new PrintDocument();   //设置边距   Margins margin = new Margins(20, 20, 20, 20);   pd.DefaultPageSettings.Margins = margin;   ////纸张设置默认  //PaperSize pageSize = new PaperSize("First custom size", 800, 600);  //pd.DefaultPageSettings.PaperSize = pageSize;  //打印事件设置   pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);

C#打印和C#打印预览的实现的基本内容就向你介绍到这里,希望对你了解和学习C#打印和C#打印预览的实现方面的编程有所帮助。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/113754.html

(0)

相关推荐

  • 线程状态代码演示

    技术线程状态代码演示 线程状态代码演示package 线程停止;//检测线程状态public class TestState{ public static void main(String[] a

    礼包 2021年12月15日
  • 网站建设中常见的安全漏洞有哪些

    技术网站建设中常见的安全漏洞有哪些这篇文章主要为大家展示了“网站建设中常见的安全漏洞有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“网站建设中常见的安全漏洞有哪些”这篇文

    攻略 2021年11月19日
  • 铵根的化合价,邱俊霖化合价style歌词

    技术铵根的化合价,邱俊霖化合价style歌词是这个吧铵根的化合价?!《化学价Style》——邱俊霖
    我背化合价
    化合价
    化合物中 钾钠银氢 常显 +1 价
    在化合物中 钙镁钡锌 通常显 +2 价
    在化合物中 氟氯溴碘 通

    生活 2021年10月20日
  • 删除MS JVM的几种途径分别是什么

    技术删除MS JVM的几种途径分别是什么今天就跟大家聊聊有关删除MS JVM的几种途径分别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。这里向大家描述一下如

    攻略 2021年10月23日
  • 小镇的英文,英语hill是什么意思

    技术小镇的英文,英语hill是什么意思hill英[hɪl]美[hɪl]n.小山;丘陵;斜坡;山冈n.(Hill)人名;(法、西)伊尔;(德、英、匈、捷、罗、芬、瑞典)希尔词组短语:buriedhill潜山;埋藏山;掩丘c

    生活 2021年10月26日
  • css如何实现鼠标经过显示离开隐藏效果

    技术css如何实现鼠标经过显示离开隐藏效果小编给大家分享一下css如何实现鼠标经过显示离开隐藏效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧

    攻略 2021年11月14日