Private Sub PrintDocument2_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument2.PrintPage
Dim LigneParPage As Integer = 0
Dim YPos As Single = 0
Dim Cmpt As Integer = 0
Dim ae As Integer = 0
Dim MargeG As Single = e.MarginBounds.Left
Dim MargeH As Single = e.MarginBounds.Top
Dim LigneEncours As String = Nothing
Dim Police As New Font("Arial", 11)
Dim Interligne As Single = Police.GetHeight(e.Graphics)
LigneParPage = e.MarginBounds.Height / Interligne
While ae < 100
While Cmpt < LigneParPage
ae += 1
LigneEncours = ae.ToString
YPos = MargeH + Cmpt * Interligne
e.Graphics.DrawString(LigneEncours, Police, Brushes.Black, MargeG, YPos, New StringFormat())
Cmpt += 1
If ae = 100 Then
Exit While
End If
End While
Cmpt = 0
If ae < 100 Then
e.HasMorePages = True
Else
e.HasMorePages = False
End If
End While
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim valMarge As Integer = Printing.PrinterUnitConvert.Convert(100, PrinterUnit.TenthsOfAMillimeter, PrinterUnit.Display)
With Me.PrintDocument2.DefaultPageSettings
.Landscape = False
.Color = False
.Margins = New Printing.Margins(valMarge, valMarge, valMarge, valMarge)
End With
Me.PrintPreviewDialog2.ShowDialog()
End Sub
Partager