QA@IT

C#の印刷処理について

7577 PV

C#の印刷処理について質問あります。

印刷中に「印刷中ダイアログ」が表示されていると思いますが、
この「印刷中ダイアログ」にて【キャンセル】ボタンを押下したとき、
プログラム側で「キャンセル終了」したことを判別することは
可能なのでしょうか?

EndPrint()で「e.Cancel」の値を見ればよいのかと思いましたが、
どうも検討違いのようで「e.Cancel」では判別できませんでした。
 ※印刷終了時もキャンセル終了時も「e.Cancel」はfalseだった

「印刷中ダイアログ」の戻り値?を調べるには、独自のダイアログ
を表示させるしかないのでしょうか?
どなたかご回答いただけると助かります。

回答

PrintDocumentの話でしょうか?

独自にprivate変数を用意するとりあえずPrintDoneとします。

BeginPrintイベントにてPrintDone = falseにします。

PrintPageイベントにて

e.HasmorePage = false

にするときにPrintDone = trueも実行します。

判定したいときにPrintDoneの内容を確認すればキャンセルされたか
判断出来るかと思います。

※普段使用しているのがVB.NETなので大文字、小文字などでおかしいところがありましたら
適宜置き換えて下さい。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。