Probleem met: e.HasMorePages = True in vb.net

Status
Niet open voor verdere reacties.

roppie555

Gebruiker
Lid geworden
18 dec 2007
Berichten
36
Ik print een formulier in VB.net 2012.

Code:
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        Initialisatie
        printen...
        printen...
        printen...
        printen...

        e.Graphics.DrawString("Pressure loss:", BoldFont, Brushes.Black, 420, 980)
        e.Graphics.DrawString(Math.Round((BMSX.PressureLoss) * BMSX.OutputHead, 1), BoldFont, Brushes.Black, 600, 980)
        e.Graphics.DrawString(BMSX.UnitHead, BoldFont, Brushes.Black, 670, 980)

        e.Graphics.DrawLine(myPen, marginLeft - 10, 1070, PrintAreaWidth - 10, 1070)
        Dim logoBTI As Image = My.Resources.bti
        e.Graphics.DrawImage(logoBTI, New Point(50, 1080))

        e.HasMorePages = True

        Dim newImage As Image = Image.FromFile("Picture.jpg")
        e.Graphics.DrawImage(newImage, 10, 120, 760, 498)

        e.HasMorePages = False
    End Sub

Het plaatje Picture.jpg moet op pagina 2 komen te staan. Daar gaat het fout. Hij genereert geen page break. Hij print het plaatje over pagina 1 heen.
Wie o wie help mij op weg?
 
Na veel zoeken en proberen toch zelf een oplossing gevonden.
De essentie:
Code:
Static counter As Integer = 1
        If counter = 1 Then
            e.Graphics.DrawString("Hello", New Font("Arial", _
            12, FontStyle.Regular), Brushes.Black, 100, 100)
            counter += 1
            e.HasMorePages = True
            Exit Sub
        End If
 
        If counter = 2 Then
            e.Graphics.DrawString("Hello Again", New Font("Arial", _
            12, FontStyle.Regular), Brushes.Black, 100, 100)
            counter = 1
            e.HasMorePages = False
        End If

Hiermee print je 2 pagina's. Eenvoudig ui te breiden tot meerdere.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan