C#打印設置實例解析
作者:xiaoko
C#打印設置在我們實際開發會遇到什么問題呢?那么這里就向你介紹了解決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#打印設置控件頁面邊距值變化的問題就向你介紹到這里,希望對你了解和學習C#打印設置有所幫助。
【編輯推薦】
責任編輯:仲衡
來源:
博客園