You're here: Snippet Directory » Microsoft .NET » C# (33)
Language:

Beispiel für die Verwendung von printDocument

Language: Deutsch
Programming Language: C#
Published by: pumi
Last Update: 5/28/2006
Views: 1049


Description

Dieses Beispiel zeigt die grundsätzliche Verwendung vom printDocument

Hinweis: Die benötigten Komponenten und Events müssen per Designer
erzeugt werden.

Code

1 //benötigte Komponenten: 2 //printDocument 3 //zusätzlich evtl. 4 //printDialog 5 //printPreview 6 //pageSetupDialog 7 //in den zusätzlichen Komponenten muss jeweils das printDocument als 8 //Referenz eingetragen werden (Eigenschaft Document) 9 10 //Variable, die die Anzahl der bereits gedruckten Zeilen enthält 11 private int linesPrinted; 12 //Beispiel-Array für die Zeilen 13 private string[] lines = new string[5]; 14 15 //wird einmalig beim starten des Druckvorgangs aufgerufen 16 private void OnBeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e) 17 { 18 //StringArray mit den Zeilen füllen 19 lines[0] = "Zeile1"; 20 lines[1] = "Zeile2"; 21 lines[2] = "Zeile3"; 22 lines[3] = "Zeile4"; 23 lines[4] = "Zeile5"; 24 } 25 //wird für jede neue Seite aufgerufen, wenn e.HasMorePages = true ist 26 private void OnPrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 27 { 28 //Abstand zwischen den Zeilen 29 const int GapBetweenLines= 15; 30 //X und Y-Koordinaten mit der oberen Linke Ecke initialisieren 31 //(Startkoordinaten für jede Seite) 32 int x = e.MarginBounds.Left; 33 int y = e.MarginBounds.Top; 34 //Font-Objekt für die Schriftart festlegen 35 Font font = new Font("Courier", 10.0f); 36 //Solange bis alle Zeilen gezeichnet sind ... 37 while (linesPrinted < lines.Length) 38 { 39 //die Zeile zeichnen 40 e.Graphics.DrawString(lines[linesPrinted++], font, Brushes.Black, x, y); 41 //den Y-Abstand erhöhen 42 y += GapBetweenLines; 43 //wenn das Ende der Seite erreicht, dann Abbruch 44 if (y >= e.MarginBounds.Bottom) 45 { 46 //weitere Seiten folgen ... 47 e.HasMorePages = true; 48 //Abbruch 49 return; 50 } 51 } 52 //Wert für gedruckte Zeilen zurück setzen 53 linesPrinted = 0; 54 //es folgen keine Seiten mehr, das Ende ist erreicht 55 e.HasMorePages = false; 56 } 57 58 // Seiten Setup aufrufen 59 private void miSetup_Click(object sender, System.EventArgs e) 60 { 61 // Seiten Setup aufrufen 62 pageSetupDialog1.ShowDialog(); 63 } 64 // Druck-Vorschau aufrufen 65 private void miPreview_Click(object sender, System.EventArgs e) 66 { 67 //PrinterPreview-Dialog positionieren zb: 68 printPreviewDialog1.Top = this.Top; 69 printPreviewDialog1.Width = this.Width * 2; 70 printPreviewDialog1.Height = this.Height * 2; 71 //PrinterPreview-Dialog zeigen 72 printPreviewDialog1.ShowDialog(); 73 } 74

No comments avaiable

Add a comment

Name *  

Email (won't be displayed) *    

Website  

Comment *  

Sicherheitscode Security Code *    

RSS