listView 항목을 인쇄하는 데 문제가 있습니다. 반복 한 페이지에 맞는 어떤C#의 여러 페이지 목록보기를 인쇄하는 데 문제가 있습니다. 그것을 알아낼 수 없습니다
그것을 인쇄 : 내가 생각 문제는 그래서 무슨 일인지입니다
private void PrintPageDetail(PrintPageEventArgs e)
이다. (인쇄 된 것보다 많은 데이터가 있습니다.) 페이지 바닥 글과 머리글은 올바른 페이지 번호로 인쇄됩니다. 다음 페이지에서 새 데이터를 매핑 할 때마다 메모리를 지우는 데 어려움을 겪고 있습니다.취소를 누르지 않으면 (아마도 "반환;"이 무한 루프이기 때문에) 인쇄 미리보기 및 인쇄가 중지되지 않습니다.
private void PrintDocument(object sender, PrintPageEventArgs e)
{
// Use inches for all measurements.
e.Graphics.PageUnit = GraphicsUnit.Inch;
PrintPageHeader(e);
PrintPageDetail(e);
PrintPageFooter(e);
}
// Print the page header/footer/details.
private void PrintPageHeader(PrintPageEventArgs e)
{
e.Graphics.DrawString("Factors List Report",
_headerFont, _reportBrush, 3.0F, 0.75F);
e.Graphics.DrawLine(_reportPen, 0.5F, 1.15F, 7.5F, 1.15F);
}
private void PrintPageFooter(PrintPageEventArgs e)
{
e.Graphics.DrawLine(_reportPen, 1.0F, 10.0F, 7.5F, 10.0F);
e.Graphics.DrawString("Printed on " + DateTime.Now.ToLongDateString(),
_footerFont, _reportBrush, 1F, 10.2F);
_pageNumber++;
e.Graphics.DrawString(string.Format("Page: {0}", _pageNumber),
_footerFont, _reportBrush, 7F, 10.2F);
}
private void PrintPageDetail(PrintPageEventArgs e)
{
// Create variables to hold position on page.
float leftMargin = e.MarginBounds.Left;
float topMargin = e.MarginBounds.Top;
float i = 1.25F;
e.HasMorePages = false;
foreach (string printerLine in _factorsView)
{
e.Graphics.DrawString(printerLine, _detailFont, _reportBrush, 1.0F, i);
if (i >= 9.75)
{
i += 1.25F;
e.HasMorePages = true;
return;
}
else
i += .25F;
}
}
}