請求書を印刷しようとしています。請求書は複数のページに印刷できるはずですが、ここで問題が発生します。請求書を1ページに完全に印刷できますが、請求書が1ページに収まらない場合は、印刷ジョブが終了します。最初のページ。
これが私が使用しているコードです。「artikelen」は記事のリスト(リスト)です。私はいくつかの同様の例を読みました、そして私はここで何かが欠けているとかなり確信しています。
(編集:不要なコードを削除)
public void PrintA4Factuur()
{
p = new PrintDocument();
p.PrintPage +=
new PrintPageEventHandler(printPage);
printPreviewDialog.Document = p;
printPreviewDialog.ShowDialog();
}
void printPage(object sender1, PrintPageEventArgs e1)
{
Graphics g = e1.Graphics;
int yPos = 320;
float pageHeight = e1.MarginBounds.Height;
int artikelPosition = 0;
while (yPos + 100 < pageHeight
&& artikelPosition < this.artikelen.Count)
{
// Do stuff with articles (printing details in different rectangles
artikelPosition += 1;
yPos += 20;
}
if (artikelPosition < this.artikelen.Count)
{
e1.HasMorePages = true;
return;
}
else
{
e1.HasMorePages = false;
}
}