C#打印設(shè)置實(shí)例解析
作者:xiaoko
C#打印設(shè)置在我們實(shí)際開發(fā)會(huì)遇到什么問題呢?那么這里就向你介紹了解決C#打印設(shè)置控件頁(yè)面邊距值變化的問題,希望對(duì)你了解和學(xué)習(xí)C#打印設(shè)置有所幫助。
我們?cè)趯?shí)際的實(shí)現(xiàn)C#打印開發(fā)中C#打印設(shè)置會(huì)遇到一些問題,那么如何解決這些C#打印設(shè)置的問題就變得很實(shí)際,那么對(duì)于文件實(shí)現(xiàn)C#打印、C#打印預(yù)覽、C#打印設(shè)置等等操作其中都有哪些常見的問題呢?下面我們就來談?wù)劷鉀QC#打印設(shè)置控件頁(yè)面邊距值變化的問題:
- protected virtual PageSettings ShowPageSetupDialog(
- PrintDocument printDocument)
- {
- //檢查printDocument是否為空,空的話拋出異常
- ThrowPrintDocumentNullException(printDocument);
- //聲明返回值的PageSettings
- PageSettings ps = new PageSettings();
- //申明并實(shí)例化PageSetupDialog
- PageSetupDialog psDlg = new PageSetupDialog();
- ps = printDocument.DefaultPageSettings;
- try
- {
- //相關(guān)文檔及文檔頁(yè)面默認(rèn)設(shè)置
- psDlg.Document = printDocument;
- Margins mg = printDocument.DefaultPageSettings.Margins;
- if (System.Globalization.RegionInfo.CurrentRegion.IsMetric)
- {
- mg = PrinterUnitConvert.Convert(mg,
- PrinterUnit.Display, PrinterUnit.TenthsOfAMillimeter);
- }
- //備份打印文檔的DefaultPageSettings,
- //因?yàn)檗D(zhuǎn)換后會(huì)改變,
- //而設(shè)置對(duì)話框單擊取消按鈕后不還原就不能正確顯示原來的值
- PageSettings psPrintDocumentBack =
- (PageSettings)(printDocument.DefaultPageSettings.Clone());
- psDlg.PageSettings = psPrintDocumentBack;
- //printDocument.DefaultPageSettings;
- //用printDocument的時(shí)取消了對(duì)話框就要還原
- psDlg.PageSettings.Margins = mg;
- //顯示對(duì)話框
- 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;
- }
關(guān)于C#打印設(shè)置控件頁(yè)面邊距值變化的問題就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#打印設(shè)置有所幫助。
【編輯推薦】
責(zé)任編輯:仲衡
來源:
博客園