■66086 / inTopicNo.6) |
Re[1]: 印刷プレビューを自動で閉じたい |
□投稿者/ Jitta (36回)-(2013/03/29(Fri) 23:00:50)
|
■No66058 (ひろ さん) に返信 まず、PrintDocument クラスの説明を見ていただきたいのですが... → http://msdn.microsoft.com/ja-jp/library/system.drawing.printing.printdocument(v=vs.90).aspx
ここに、「C:\My Documents\MyFile.txt という名前のファイルを既定のプリンタで印刷するコード例」があります。 ひろさんが提示されているコードの断片では、 > if (e.HasMorePages == false) && (1回目の場合) となっていますが、「続くページがあるかどうか」を、誰が判断しているのでしょうか。 MSDN の例では、コード上で判断しています。 > // If more lines exist, print another page. > if(line != null) > ev.HasMorePages = true; > else > ev.HasMorePages = false; > } line は、この上で streamToPrint.ReadLine() の戻り値です。 C:\My Documents\MyFile.txt を読み込んで、ファイルの終わりに達すると line が null になります。 その時にはページの終わりであり、そうでなければ続きがある、ということですね。
つまり、ページを描画するのは自分のコードのはずです。 データも、自分のコードで用意しているはずです。 データの総量と、1ページに印字できるデータ量の関係から、ページ数は計算できます。 印刷しようとしたり、プレビュー画面を表示したりする必要は有りません。
|
|