2016-08-30 4 views
1

私はPageSetupDialogでこの奇妙な問題があります。コンボボックスから「ページサイズ」(A4、A5、B5など)を選択した後、後で使用するためにPaperSize.RawKindを保存します。ユーザーがPageSetupDialogに戻ると、以前のユーザーが選択した「ページサイズ」が記憶されます。PageSetupDialog - カスタムページサイズの問題の保存と読み込み

ユーザーがPageKindの列挙型(「B5(ISO)」のようなカスタム種別)にない「ページサイズ」を選択した場合、ユーザーが戻った後に「ページサイズ」が自動的にコンボボックスで再度選択されません"ページ設定"ダイアログが表示されますが、デフォルトの用紙サイズ: "文字"が表示されます。 PageKind Enumのみが自動的に「用紙サイズ」のコンボボックスで選択されます。

私はちょうど行うことができます用紙サイズを選択するには:

int MyLastPaperSize=5; 
dlg.PageSettings.PaperSize.RawKind= MyLastPaperSize; 

enter image description here

これがenumリストである:フレームワーク4.0とC#を使用してhttps://msdn.microsoft.com/en-us/library/system.drawing.printing.papersize.rawkind(v=vs.110).aspx

を。どんな助けもありがとう。多くの方法を試して、この作業を適切に行うことができませんでした。

答えて

0

設定のみPaperSize.RawKind実際には以前の(または初期の)「サイズ」は復元されません。完全PageSettingsを保存

は、「サイズ」を含むすべてのものを、復元します:

PageSettings _settings = new PageSettings(); 

void button1_Click(object sender, EventArgs e) 
{ 
    var dialog = new PageSetupDialog(); 
    dialog.PageSettings = _settings; 
    dialog.ShowDialog(); 
    _settings = dialog.PageSettings; 
} 

もう一度ボタンをクリックすると、以前のようなダイアログから設定を復元します。

これは最初はうまくいきませんでした。他のプロパティ(余白など)を一時的に変更すると一時的に問題が解決するようです。もう再生できませんが、注意する価値があります。

+0

返信いただきありがとうございます。私はPageSettingsを保存する方法が必要なので、まだ試してみませんでした。現在のところ、PaperSize、Orientation、およびmarginの各パラメータをResources.rsxファイルに保存するだけです。 – Dror

+0

とにかく、私はprintdocument(PageSettingsを含む)を保存してそれを送り返してみましたが、それでも私は同じ結果を得ています。カスタムの種類の "用紙サイズ"で動作しません。常に "Letter"をコンボボックスに表示します。 – Dror

+0

用紙サイズの種類(PaperSize.Kind)が「カスタム」に設定されている場合にのみ発生します。 PaperSize.Kind = 'custom'というPaperSizeを選択したときに「Paper Size」プロパティが復元されているかどうか再確認してください。 – Dror