我對PageSetupDialog有這個奇怪的問題。用戶從組合框中選擇「頁面大小」(A4,A5,B5等)後,我保存PaperSize.RawKind供以後使用,所以當用戶返回到PageSetupDialog時,它會記住以前用戶選擇的「頁面大小」。PageSetupDialog - 保存並加載自定義頁面大小問題
如果用戶選擇了不在PageKind(又名自定義類型,如'B5(ISO)')枚舉類型的頁面大小,那麼在用戶返回後,「頁面大小」不會再自動在組合框中選擇「頁面設置」對話框,但只顯示默認的紙張大小:「Letter」。只有PageKind Enum自動在「紙張大小」的組合框中被選中。
要選擇紙張大小我可以這樣做:
int MyLastPaperSize=5;
dlg.PageSettings.PaperSize.RawKind= MyLastPaperSize;
這是枚舉列表:https://msdn.microsoft.com/en-us/library/system.drawing.printing.papersize.rawkind(v=vs.110).aspx
使用框架4.0和C#。任何幫助表示讚賞。嘗試了很多方法,無法正常工作。
感謝您的回覆。還沒有嘗試過,因爲我需要一種方法來保存PageSettings。目前我只是將PaperSize,Orientation和邊界參數分別保存到Resources.rsx文件中。 – Dror
無論如何,我試着保存整個printdocument(包括PageSettings)並將其發回,但仍然給了我相同的結果。不適用於自定義種類「紙張大小」,總是在組合框中顯示「Letter」字樣。 – Dror
請注意,只有在將紙張大小種類(PaperSize.Kind)設置爲「custom」時纔會發生這種情況。如果您可以請重新檢查「Paper Size」屬性是否在選擇PaperSize時恢復爲PaperSize.Kind ='custom' – Dror