Hallo zusammen,
nach langer Suche mit Beispielen im Internet und suche im Forum mit etlichen älteren Beispielen, komme ich trotzdem mit meinem vereinfachten Beispiel von einem Druck mit mehreren Seiten nicht weiter. Ich versteh einfach nicht was an meinem Beispielcode und dem Aufruf falsch ist? Habe ältere Beiträge Internet/Forum von ca. 2010 wo das doch genauso gehandhabt wird?
Ich nutze Visual Basic 2012 und möchte ganz einfach eine gewissen Anzahl von Zeilen pro Seite darstellen, dann soll eine neue Seite erstellt werden.
Was ich einfach vermisse zu dem Thema PrintForms, ich habe weder in Lehrbüchern noch im Internet simple Tutorials gefunden wie man mit meheren Seiten arbeitet und das ganze an einem vereinfachten Beispiel. Vielen Dank schon einmal im Voraus.
Grüße
Cerberus
nach langer Suche mit Beispielen im Internet und suche im Forum mit etlichen älteren Beispielen, komme ich trotzdem mit meinem vereinfachten Beispiel von einem Druck mit mehreren Seiten nicht weiter. Ich versteh einfach nicht was an meinem Beispielcode und dem Aufruf falsch ist? Habe ältere Beiträge Internet/Forum von ca. 2010 wo das doch genauso gehandhabt wird?
Ich nutze Visual Basic 2012 und möchte ganz einfach eine gewissen Anzahl von Zeilen pro Seite darstellen, dann soll eine neue Seite erstellt werden.
Was ich einfach vermisse zu dem Thema PrintForms, ich habe weder in Lehrbüchern noch im Internet simple Tutorials gefunden wie man mit meheren Seiten arbeitet und das ganze an einem vereinfachten Beispiel. Vielen Dank schon einmal im Voraus.
Grüße
Cerberus
VB.NET-Quellcode
- Public Class Form1
- Private Sub cmdDrucken_Click(sender As Object, e As EventArgs) Handles cmdDrucken.Click
- If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
- PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
- PrintDocument1.Print()
- End If
- End Sub
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- PrintPreviewControl1.Document = PrintDocument1()
- End Sub
- Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
- Dim x, y As String : x = 50 : y = 50
- Dim zeile As Integer : zeile = 0
- Dim seite As Integer = 0
- Dim fontart As Font = New Drawing.Font("Arial", 12)
- e.HasMorePages = False
- For b As Integer = 0 To 90 Step 1
- e.Graphics.DrawString("Durchlauf: " & b, fontart, Brushes.Black, x, y)
- y += 20
- zeile += 1
- 'Wenn Zeilen von 30 überschritten, dann mache eine neue Seite (Was ist daran falsch?)
- If zeile > 30 Then
- zeile = 0
- y = 50
- e.HasMorePages = True
- Else
- e.HasMorePages = False
- End If
- Next
- End Sub
- End Class