Hallo,
habe 4 Zeilen definiert (String)
Befülle diese Zeilen durch Textboxen.
Wenn diese Zeilen <> "" sind soll das Programm diese Zeilen schön untereinander ausdrucken.
Nur...er druckt alle 4 Zeilen in 1 Zeile...sprich er überschreibt mir die Zeilen bis er bei Zeile 4 angekommen ist.
Hier der Druck code...
was mach ich nur falsch?
(der Code zum Befüllen der Zeilen ist nicht dabei, der ist aber easy - also da ist nichts falsch)
Weiß jm was ich falsch gemacht habe?
Gruß Vampy
habe 4 Zeilen definiert (String)
Befülle diese Zeilen durch Textboxen.
Wenn diese Zeilen <> "" sind soll das Programm diese Zeilen schön untereinander ausdrucken.
Nur...er druckt alle 4 Zeilen in 1 Zeile...sprich er überschreibt mir die Zeilen bis er bei Zeile 4 angekommen ist.
Hier der Druck code...
was mach ich nur falsch?

(der Code zum Befüllen der Zeilen ist nicht dabei, der ist aber easy - also da ist nichts falsch)
Code:
Private Sub pdoc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles pdoc.PrintPage
' Declare a variable to hold the position of the last printed char. Declare
' as static so that subsequent PrintPage events can reference it.
Static intCurrentChar As Int32
Dim font As New Font("Courier New", 14)
'Dim font2 As New Font("Arial", 18)
Dim intPrintAreaHeight, intPrintAreaWidth, marginLeft, marginTop As Int32
With pdoc.DefaultPageSettings
' Initialize local variables that contain the bounds of the printing
' area rectangle.
intPrintAreaHeight = .PaperSize.Height - .Margins.Top - .Margins.Bottom
intPrintAreaWidth = .PaperSize.Width - .Margins.Left - .Margins.Right
marginLeft = .Margins.Left ' X coordinate
marginTop = .Margins.Top ' Y coordinate
End With
Dim intLineCount As Int32 = CInt(intPrintAreaHeight / font.Height)
Dim rectPrintingArea As New RectangleF(marginLeft, marginTop, intPrintAreaWidth, intPrintAreaHeight)
Dim fmt As New StringFormat(StringFormatFlags.LineLimit)
Dim intLinesFilled, intCharsFitted As Int32
'ZEILE1
e.Graphics.MeasureString(Mid(Zeile1, intCurrentChar + 1), font, _
New SizeF(intPrintAreaWidth, intPrintAreaHeight), fmt, _
intCharsFitted, intLinesFilled)
e.Graphics.DrawString(Mid(Zeile1, intCurrentChar + 1), font, _
Brushes.Black, rectPrintingArea, fmt)
intCurrentChar += intCharsFitted
'ZEILE2
e.Graphics.MeasureString(Mid(Zeile2, intCurrentChar + 1), font, _
New SizeF(intPrintAreaWidth, intPrintAreaHeight), fmt, _
intCharsFitted, intLinesFilled)
e.Graphics.DrawString(Mid(Zeile2, intCurrentChar + 1), font, _
Brushes.Black, rectPrintingArea, fmt)
intCurrentChar += intCharsFitted
'ZEILE3
e.Graphics.MeasureString(Mid(Zeile3, intCurrentChar + 1), font, _
New SizeF(intPrintAreaWidth, intPrintAreaHeight), fmt, _
intCharsFitted, intLinesFilled)
e.Graphics.DrawString(Mid(Zeile3, intCurrentChar + 1), font, _
Brushes.Black, rectPrintingArea, fmt)
intCurrentChar += intCharsFitted
'ZEILE 4
e.Graphics.MeasureString(Mid(Zeile4, intCurrentChar + 1), font, _
New SizeF(intPrintAreaWidth, intPrintAreaHeight), fmt, _
intCharsFitted, intLinesFilled)
e.Graphics.DrawString(Mid(Zeile4, intCurrentChar + 1), font, _
Brushes.Black, rectPrintingArea, fmt)
intCurrentChar += intCharsFitted
If intCurrentChar < Zeile4.Length Then
e.HasMorePages = True
Else
e.HasMorePages = False
intCurrentChar = 0
End If
End Sub
Weiß jm was ich falsch gemacht habe?
Gruß Vampy