这篇文章主要为大家展示了“C#软件打印设置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#软件打印设置”这篇文章吧。
我们在实际的实现C#打印开发中C#打印设置会遇到一些问题,那么如何解决这些C#打印设置的问题就变得很实际,那么对于文件实现C#打印、C#打印预览、C#打印设置等等操作其中都有哪些常见的问题呢?下面我们就来谈谈解决C#打印设置控件页面边距值变化的问题:
protected virtual PageSettings ShowPageSetupDialog( PrintDocument printDocument) { //检查printDocument是否为空,空的话抛出异常 ThrowPrintDocumentNullException(printDocument); //声明返回值的PageSettings PageSettings ps = new PageSettings(); //申明并实例化PageSetupDialog PageSetupDialog psDlg = new PageSetupDialog(); ps = printDocument.DefaultPageSettings; try { //相关文档及文档页面默认设置 psDlg.Document = printDocument; Margins mg = printDocument.DefaultPageSettings.Margins; if (System.Globalization.RegionInfo.CurrentRegion.IsMetric) { mg = PrinterUnitConvert.Convert(mg, PrinterUnit.Display, PrinterUnit.TenthsOfAMillimeter); } //备份打印文档的DefaultPageSettings, //因为转换后会改变, //而设置对话框单击取消按钮后不还原就不能正确显示原来的值 PageSettings psPrintDocumentBack = (PageSettings)(printDocument.DefaultPageSettings.Clone()); psDlg.PageSettings = psPrintDocumentBack; //printDocument.DefaultPageSettings; //用printDocument的时取消了对话框就要还原 psDlg.PageSettings.Margins = mg; //显示对话框 DialogResult result = psDlg.ShowDialog(); if (result == DialogResult.OK) { ps = psDlg.PageSettings; printDocument.DefaultPageSettings = psDlg.PageSettings; } else { } } catch (System.Drawing.Printing.InvalidPrinterException e) { ShowInvalidPrinterException(e); } catch (Exception ex) { ShowPrinterException(ex); } finally { psDlg.Dispose(); psDlg = null; } return ps; }
以上是“C#软件打印设置”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!