cortar bucle con PaintDocument y HasMorePages
Publicado por Angel1970Vcia (4 intervenciones) el 28/12/2008 00:59:34
Para imprimir varias páginas en un solo documento hay que establecer un contador de páginas externo y si aún no ha llegado al final establecer HasMorePages a true y JUSTO DESPÚES EXIT SUB para evitar el bucle.
Os pego el código:
--------------------------------------------------------------------------
. Private cntImp As Integer = -1
--------------------------------------------------------------------------
. Private Sub pd_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs)
.
. cntImp = cntImp + 1
.
. Me.dibujarUnaPaginaDelDocumentoEnLaImpresora(e.Graphics, cntImp)
.
. Select Case cntImp = pgCont
. Case True
. e.HasMorePages = False
. Exit Sub
. Case False
. e.HasMorePages = True
. Exit Sub
. End Select
.
. End Sub
--------------------------------------------------------------------------
. Private Sub butImprimir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles butImprimir.Click
. cntImp = -1
. pd.Print()
. End Sub
Os pego el código:
--------------------------------------------------------------------------
. Private cntImp As Integer = -1
--------------------------------------------------------------------------
. Private Sub pd_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs)
.
. cntImp = cntImp + 1
.
. Me.dibujarUnaPaginaDelDocumentoEnLaImpresora(e.Graphics, cntImp)
.
. Select Case cntImp = pgCont
. Case True
. e.HasMorePages = False
. Exit Sub
. Case False
. e.HasMorePages = True
. Exit Sub
. End Select
.
. End Sub
--------------------------------------------------------------------------
. Private Sub butImprimir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles butImprimir.Click
. cntImp = -1
. pd.Print()
. End Sub
Valora esta pregunta


0