Member 14066863 Ответов: 1

Печать нескольких страниц в VB.NET


Я пытаюсь напечатать представление списка, в представлении списка слишком много строк, поэтому я хочу напечатать больше страниц для всех элементов, как это сделать?

Что я уже пробовал:

e.HasMorePages но это печатает поверх существующей страницы, это не печатает на новый лист бумаги.

1 Ответов

Рейтинг:
0

OriginalGriff

Если вы используете e.HasMorePages, то вы - правильно - используете PrintDocument.

e.HasMorePages сообщает системе, что после того, как вы вернетесь из обработчика событий PrintPage, она должна закончить передачу страницы на выход, а затем вызвать новое событие PrintPage, чтобы вы могли собрать следующий набор информации вместе.
Судя по звуку, вы устанавливаете HasMorePages в цикле и ожидаете, что закончите страницу out put - этого не происходит: вам нужно выйти из обработчика событий, чтобы завершить страницу.

Попробуйте этот очень простой пример:

Private pageNo As Integer = 1

Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs)
    ev.Graphics.DrawString(pageNo.ToString(), Font, Brushes.Black, 100, 100)
    pageNo = pageNo + 1
    ev.HasMorePages = pageNo <= 3
End Sub