これは PrintDocument のプロパティではなく、PrintPageEventArgs のプロパティです。PrintPage イベント ハンドラーに渡されるインスタンス。
PrintController クラスと PrintDocument クラスの動作は、Windows での印刷の実装方法に大きく影響されます。核となる実装の詳細は、ページベースであることです。プリンター ドライバーは一度に 1 ページを処理します。基になる winapi 関数は StartPage() です。印刷デバイス コンテキストにレンダリングされるものはすべて、最終的に 1 ページになります。次に、EndPage() winapi 関数がページを完成させ、それをスプーラーに送信します。
3 ページのドキュメントが印刷されている間に行われる呼び出しを図解すると役立つ場合があります。
StartDoc()
PrintDocument.BeginPrint event
StartPage()
PrintDocument.PrintPage event, e.HasMorePages = true
EndPage()
StartPage()
PrintDocument.PrintPage event, e.HasMorePages = true
EndPage()
StartPage()
PrintDocument.PrintPage event, e.HasMorePages = false
EndPage()
PrintDocument.EndPrint event
EndDoc()
e.HasMorePage = true を割り当てることで、PrintController が PrintPage イベントを発生させ続けることができるようになりました。PrintPage イベント ハンドラーでドキュメントのページ付けを行い、正しいページのコンテンツをレンダリングするのはユーザー次第です。たとえば、内部ページ カウンターを 0 に設定するには、BeginPrint イベントが必要です。