Nedanstående kod borde enligt mig producera tre sidor som det står 1,2 resp 3 på. Det blir inte så. Det blir två sidor som det står 12 resp 34 på. Någon som vet varför? Jag tycker att programmet borde lämna printpage när hasmorepages blir false. Du har lagt till eventhandlern två gånger -- en gång via AddHandler och en gång genom att säga att pd_PrintPage Handles pd.PrintPage Otroligt! Stort tack för hjälpen!hasmorepages sidbrytning i dotnet
Public Class Form1
Dim WithEvents pd As New System.Drawing.Printing.PrintDocument
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim pv As New PrintPreviewDialog
AddHandler pd.PrintPage, AddressOf pd_PrintPage
pv.Document = pd
pv.ShowDialog()
pv.Dispose()
End Sub
Private Sub pd_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles pd.PrintPage
Dim g As Graphics = e.Graphics
Static i As Integer = 0
i += 1
g.DrawString(i.ToString, New Font("Times New Roman", 25), Brushes.Black, 10, 10)
If i < 3 Then e.HasMorePages = True Else e.HasMorePages = False
End Sub
End ClassSv: hasmorepages sidbrytning i dotnet
Sv:hasmorepages sidbrytning i dotnet
Nu fungerar det perfekt,
mvh Claes