印刷処理の修正について

忘れないうちにメモしておこう。 VB.netで印刷プレビューを表示したときに上部に印刷ボタンが表示されます。 …

忘れないうちにメモしておこう。

VB.netで印刷プレビューを表示したときに上部に印刷ボタンが表示されます。

そのボタンを押すとPrintPageをハンドルした関数を呼んでしまいます。

とどうなるか?

例えばページ数をモジュール変数としてプレビュー画面表示前に1に初期化します。

プレビューが始まるとPrintPageをハンドルした関数が呼ばれ必要ページ数だけ

処理されます。ここまでは開発者が考えたとおりです。

その後、プレビュー画面のボタンが押されるとページ数は

最終ページから印刷処理されます。

なぜ?気がつけば簡単ですが

 e.HasMorePagesで最終ページになったときに再度初期化しないといけないんですよね。

入門書などでは

 次のページを印刷するにはe.HasMorePagesをTrueにしましょう。

としか書いてないんですよね。もし、.netで開発している人は気をつけましょうね。

 

Tags:

コメントを残す