C#打印设置实例解析

我们在实际的实现C#打印开发中C#打印设置会遇到一些问题,那么如何解决这些C#打印设置的问题就变得很实际,那么对于文件实现C#打印、C#打印预览、C#打印设置等等操作其中都有哪些常见的问题呢?下面我们就来谈谈解决C#打印设置控件页面边距值变化的问题:

目前创新互联公司已为1000+的企业提供了网站建设、域名、虚拟空间、绵阳服务器托管、企业网站设计、桐城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

 
 
 
  1. protected virtual PageSettings ShowPageSetupDialog(  
  2. PrintDocument printDocument)  
  3. {  
  4. //检查printDocument是否为空,空的话抛出异常  
  5. ThrowPrintDocumentNullException(printDocument);  
  6.  
  7. //声明返回值的PageSettings  
  8. PageSettings ps = new PageSettings();  
  9.  
  10. //申明并实例化PageSetupDialog  
  11. PageSetupDialog psDlg = new PageSetupDialog();  
  12.  
  13. ps = printDocument.DefaultPageSettings;  
  14.  
  15. try 
  16. {  
  17. //相关文档及文档页面默认设置  
  18. psDlg.Document = printDocument;  
  19.  
  20. Margins mg = printDocument.DefaultPageSettings.Margins;  
  21. if (System.Globalization.RegionInfo.CurrentRegion.IsMetric)  
  22. {  
  23. mg = PrinterUnitConvert.Convert(mg,   
  24. PrinterUnit.Display, PrinterUnit.TenthsOfAMillimeter);  
  25. }  
  26.  
  27. //备份打印文档的DefaultPageSettings,  
  28. //因为转换后会改变,  
  29. //而设置对话框单击取消按钮后不还原就不能正确显示原来的值  
  30. PageSettings psPrintDocumentBack =   
  31. (PageSettings)(printDocument.DefaultPageSettings.Clone());  
  32.  
  33. psDlg.PageSettings = psPrintDocumentBack;  
  34. //printDocument.DefaultPageSettings;   
  35. //用printDocument的时取消了对话框就要还原  
  36. psDlg.PageSettings.Margins = mg;  
  37.  
  38.  
  39. //显示对话框  
  40. DialogResult result = psDlg.ShowDialog();  
  41. if (result == DialogResult.OK)  
  42. {  
  43. ps = psDlg.PageSettings;  
  44. printDocument.DefaultPageSettings =   
  45. psDlg.PageSettings;  
  46. }  
  47. else 
  48. {  
  49.  
  50. }  
  51.  
  52. }  
  53. catch (System.Drawing.Printing.InvalidPrinterException e)  
  54. {  
  55. ShowInvalidPrinterException(e);  
  56. }  
  57. catch (Exception ex)  
  58. {  
  59. ShowPrinterException(ex);  
  60. }  
  61. finally 
  62. {  
  63. psDlg.Dispose();  
  64. psDlg = null;  
  65. }  
  66.  
  67. return ps;  
  68. }  
  69.  

关于C#打印设置控件页面边距值变化的问题就向你介绍到这里,希望对你了解和学习C#打印设置有所帮助。

本文题目:C#打印设置实例解析
网站URL:http://www.mswzjz.cn/qtweb/news1/220651.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能