需要的組件Button1、PrintDocument1、PrintPreviewDialog1
Dim currentPage = 1
Dim totalPage = 3
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
currentPage = 1
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.Show()
End Sub
Function mydraw(ByVal gh As Graphics, ByVal page As Integer)
gh.DrawString("This is " + Str(page) + " page", New Font("黑體", 20), Brushes.Black, 0, 0)
If page >= totalPage Then Return False Else Return True
End Function
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
e.HasMorePages = mydraw(gh:=e.Graphics, page:=currentPage)
currentPage = currentPage + 1
End Sub
使用變量currentPage爲當前正在打印的頁號,totalPage爲總輸出頁數。
每次打印完當前頁,返回是否還有繼續打印的頁HasMorePages