Buenos días,
Estoy intentando imprimir un listbox de varias páginas con el método PrintDocument, pero cual es mi sorpresa, cuando al darle a imprimir, no me hace el salto de página, sino que imprime una página encima de la otra, este es el código que utilizo, a ver si podéis echarme una mano.
Código:
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
With PrintDocument1.DefaultPageSettings
Dim Fuente As New Font("Courier New", 12, FontStyle.Regular)
Dim Pincel As New SolidBrush(System.Drawing.Color.Black)
Dim Formato As New StringFormat()
Dim PosY As Single = .Margins.Top
Dim AreaImpresion As Integer = .PaperSize.Height - .Margins.Top - .Margins.Bottom
Dim MargenIzq As Integer = .Margins.Left
Formato.FormatFlags = StringFormatFlags.DirectionRightToLeft
For x = 0 To lstBusqueda.Items.Count - 1
e.Graphics.DrawString(lstBusqueda.Items(x).ToString, Fuente, Pincel, MargenIzq, PosY)
PosY += Fuente.GetHeight
If PosY > AreaImpresion Then
e.HasMorePages = True
PosY = .Margins.Top
Else
e.HasMorePages = False
End If
Next
End With
End Sub
Ayudadme plis!!!
Gracias y Salu2