忘れないうちにメモしておこう。
VB.netで印刷プレビューを表示したときに上部に印刷ボタンが表示されます。
そのボタンを押すとPrintPageをハンドルした関数を呼んでしまいます。
とどうなるか?
例えばページ数をモジュール変数としてプレビュー画面表示前に1に初期化します。
プレビューが始まるとPrintPageをハンドルした関数が呼ばれ必要ページ数だけ
処理されます。ここまでは開発者が考えたとおりです。
その後、プレビュー画面のボタンが押されるとページ数は
最終ページから印刷処理されます。
なぜ?気がつけば簡単ですが
e.HasMorePagesで最終ページになったときに再度初期化しないといけないんですよね。
入門書などでは
次のページを印刷するにはe.HasMorePagesをTrueにしましょう。
としか書いてないんですよね。もし、.netで開発している人は気をつけましょうね。
コメントを残す