如何浅析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)

相关推荐

  • mysql入门基础知识点有哪些

    技术mysql入门基础知识点有哪些本篇内容介绍了“mysql入门基础知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

    攻略 2021年12月3日
  • 盐酸和碳酸钠反应的化学方程式,碳酸氢钠和盐酸反应的化学方程式

    技术盐酸和碳酸钠反应的化学方程式,碳酸氢钠和盐酸反应的化学方程式碳酸氢钠和盐酸的反应化学方程式盐酸和碳酸钠反应的化学方程式:NaHCO3+HCl=NaCl+CO2↑+H2O碳酸氢钠和盐酸的反应离子方程式:
    HCO3- +

    生活 2021年10月29日
  • php编译iconv错误的解决方法是什么

    技术php编译iconv错误的解决方法是什么这篇文章主要介绍“php编译iconv错误的解决方法是什么”,在日常操作中,相信很多人在php编译iconv错误的解决方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好

    攻略 2021年11月8日
  • C#通讯框架知识点有哪些

    技术C#通讯框架知识点有哪些这篇文章主要介绍“C#通讯框架知识点有哪些”,在日常操作中,相信很多人在C#通讯框架知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#通讯框架知识点

    攻略 2021年11月26日
  • MySQL Index Condition Pushdown(ICP)的使用限制有哪些

    技术MySQL Index Condition Pushdown(ICP)的使用限制有哪些小编给大家分享一下MySQL Index Condition Pushdown(ICP)的使用限制有哪些,希望大家阅读完这篇文章之

    攻略 2021年11月3日
  • Oracle AWR如何实现数据导入/导出

    技术Oracle AWR如何实现数据导入/导出这篇文章主要介绍Oracle AWR如何实现数据导入/导出,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!LINUX状态下,连接oracle用户:su

    攻略 2021年11月11日