Hallo zusammen,
ich habe ein Problem mit dem Drucken mehrerer Seiten. Ich habe mir auch schon das Tutorial von @RodFromGermany Drucken mehrseitiger Dokumente durchgelesen, aber schaffe es nicht das auf mein Projekt umzusetzen.
So sieht meine PrintPage bisher aus.
Spoiler anzeigen
Nun habe ich keinen Ansatz wie ich es hinbekomme das diese Tabelle , wenn nötig, auf 2 Seiten gedruckt werden kann.
Vielleicht kann mir hier jemand Tipps geben wie ich es gescheit anstelle.
Der ein oder andere wird sich vielleicht an den Kopf fassen und denken "WTF ist das für ein Müll". Wenn dem so ist, dass mein Code ranz ist, dann bin ich immer offen für Verbesserungsvorschläge.
Danke.
ich habe ein Problem mit dem Drucken mehrerer Seiten. Ich habe mir auch schon das Tutorial von @RodFromGermany Drucken mehrseitiger Dokumente durchgelesen, aber schaffe es nicht das auf mein Projekt umzusetzen.
So sieht meine PrintPage bisher aus.
VB.NET-Quellcode
- Dim g = e.Graphics
- Dim _font = New Font("Segoe UI", 10)
- Dim _fontBold = New Font("Segoe UI", 10, FontStyle.Bold)
- Dim _fontHead = New Font("Segoe UI", 12)
- Dim _fontSmall = New Font("Segoe UI", 8)
- Dim _Brush = Brushes.Black
- Dim x As Single = e.MarginBounds.Left
- Dim y As Single = e.MarginBounds.Top
- Dim LineHeight As Single = _font.GetHeight(e.Graphics)
- Dim logo As Bitmap = My.Resources.LogoAGH
- PrintDocument1.DocumentName = "Pläne vom " & dtpDruckenVon.Value.ToShortDateString & " bis " & dtpDruckenBis.Value.ToShortDateString
- g.DrawImage(logo, x + 900, y - 70, 130, 40)
- g.DrawString("Hygienepläne", _fontHead, _Brush, x - 70, y - 70)
- g.DrawString("Monatsstatistik Pläne vom " & dtpDruckenVon.Value.ToShortDateString & " bis " & dtpDruckenBis.Value.ToShortDateString, _font, _Brush, x - 70, y - 40)
- g.DrawString("Nr", _fontBold, _Brush, x - 70, y + 10)
- g.DrawString("Einstelldatum", _fontBold, _Brush, x - 40, y + 10)
- g.DrawString("Einrichtung", _fontBold, _Brush, x + 80, y + 10)
- g.DrawString("Bemerkung", _fontBold, _Brush, x + 390, y + 10)
- g.DrawString("Uploaddatum", _fontBold, _Brush, x + 810, y + 10)
- g.DrawString("VertriebMA", _fontBold, _Brush, x + 920, y + 10)
- g.DrawLine(Pens.Black, x - 70, y + 30, x + 1030, y + 30)
- For i = 0 To PlanBindingSource.Count - 1
- Dim rwPlan = PlanBindingSource.At(Of PlanRow)(i)
- Dim rwVertriebler = rwPlan.VertriebmitarbeiterRow
- If rwPlan.berechnen = True Then
- g.DrawString(rwPlan.Nr.ToString, _font, _Brush, x - 70, y + 40)
- g.DrawString(rwPlan.Einstelldatum.ToShortDateString, _font, _Brush, x - 30, y + 40)
- g.DrawString(rwPlan.Einrichtungsname.ToString, _font, _Brush, x + 80, y + 40)
- g.DrawString(rwPlan.Bemerkung.ToString, _font, _Brush, x + 390, y + 40)
- g.DrawString(rwPlan.Uploaddatum.ToShortDateString, _font, _Brush, x + 820, y + 40)
- g.DrawString(rwVertriebler.Name.ToString, _font, _Brush, x + 920, y + 40)
- y += LineHeight + 10
- End If
- Next
- g.DrawString("gedruckt am " & Date.Today.ToShortDateString & " um: " & DateTime.Now.ToShortTimeString, _fontSmall, _Brush, New Point(980, 800))
Nun habe ich keinen Ansatz wie ich es hinbekomme das diese Tabelle , wenn nötig, auf 2 Seiten gedruckt werden kann.
Vielleicht kann mir hier jemand Tipps geben wie ich es gescheit anstelle.
Der ein oder andere wird sich vielleicht an den Kopf fassen und denken "WTF ist das für ein Müll". Wenn dem so ist, dass mein Code ranz ist, dann bin ich immer offen für Verbesserungsvorschläge.
Danke.
Rechtschreibfehler betonen den künstlerischen Charakter des Autors.