Entwickler-Ecke
WinForms - Mehrere Seiten drucken (print more pages)
Rock O´Brian - Di 14.04.20 10:02
Titel: Mehrere Seiten drucken (print more pages)
Hallo zusammen,
ich habe eine Frage:
ich arbeite mit VisualStudio 2019, WindowsForm, C#
eine Textbox beinhaltet 6 DIN A4 Seiten Text, die ich zuerst auf Bildschirm, dann auf Laserdrucker ausdrucken möchte, mit PreviewDialog
ich habe es bisher nur geschafft, die erste Seite auf Bildschirm und auf Laserdrucker zu drucken, aber wie geht es wenn mehrere Seiten zu drucken sind ?
dieser Code funktioniert nur auf Bildschirm, auf Drucker gibt es nur ein weißes Blatt, warum ?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56:
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
namespace EHP_Bauprogramm_V4._5.Menu { public partial class Inhaltsverzeichnis : Form { public Inhaltsverzeichnis() { InitializeComponent(); }
private void AbbrechenToolStripMenuItem_Click(object sender, EventArgs e) { this.Close(); } int line = 0; private void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { { e.HasMorePages = false; Font f = new Font("Arial", 10, FontStyle.Regular); int currentHeight = 0; for (;line <Tbx_Suchwort.Lines.Count();line +=1) { e.Graphics.DrawString(Tbx_Suchwort.Lines [line], f, Brushes.Black, 50, currentHeight+115); currentHeight += f.Height; if (currentHeight >= e.PageBounds.Height - 230) { e.HasMorePages = true; break; } } } }
private void DruckenToolStripMenuItem_Click(object sender, EventArgs e) { printPreviewDialog1.Document = printDocument1; if (printPreviewDialog1.ShowDialog() == DialogResult.OK) { printDocument1.Print(); } } } } |
Bitte kann mir jemand auf einfache Weise einen Code sagen, der mehr als eine Seite Text druckt ?
Vielen Dank
Moderiert von Th69: C#-Tags hinzugefügt
Moderiert von Th69: Titel geändert (deutschen Text hinzugefügt).
Rock O´Brian - Di 14.04.20 12:52
Vielen Dank für den Tipp
da ich "blutiger Anfänger" bin, (ich habe diesen Code aus Youtube einfach abgetippt) habe ich keine Ahnung, wo ich "line auf Null" setzen muss.
Bitte, bitte kannst du mir deine Verbesserungen in meinen Code einfügen ?
vielen Dank
Moderiert von Th69: Beiträge zusammengefasstund wo kann ich dir ein "Dankeschön" anklicken ?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!