PrintDialogの印刷設定で給紙方法を変更して適用ボタンを押して印刷せずに印刷ダイアログを閉じた後、再度同じ操作をすると給紙方法の設定が適用前の値に戻っていました。
この動作をした際の変更した値を取得したいのですが、どうすれば取得できるでしょうか。
取得できない場合、適用ボタンを押した時点でフォームが終了するまでその状態をPrintDialogに保持させたいのですが可能でしょうか。
現状はどのようにPrintDialogを表示しているのでしょうか?
フォームデザイナでPrintDialogコントロールを追加して
printDialog1.ShowDialog();
で表示しています。
私は P/Invoke を使ってしました。
ShowDialogから戻ってきたところでprintDialog.PrinterSettings.PaperSourcesが変化していないということですか?
Zuishinさん
P/Invokeを使ったことがないですね。
今調べている所ですが、使ったことがないので今調べているもので実現できるか判断するのが難しいです。
もし参考資料がありましたら教えてください。
YAmaGNZさん
はい。おっしゃる通りです。
現状PrintDialogを閉じた後にデバッグモードでプロパティを確認しても値は変化していません。
private void button1_Click(object sender, EventArgs e)
{
printDialog1.ShowDialog();
}
として、給紙方法を切り替え→適用ボタン押下→キャンセル押下とし
再度ShowDialogを行いましたが、給紙方法は1回目に変更した値を保持していました。
Windows7 x64 .NET Framework3.5
Windows10 x64 .NET Framework4.7.2
プリンタは両方共DocuCentre-IV C2263
の環境で試しました。
PrinterSettings.PaperSourcesは給紙方法のコレクションなんで変化しませんね。失礼しました。
回答1件
あなたの回答
tips
プレビュー