tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
560
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von exiter28
    exiter28 exiter28 ist offline Mitglied Gold
    Registriert seit
    Apr 2009
    Beiträge
    175
    Hallo,

    ich hätte mal wieder ein kleines Problem. Ich würde gerne mit einem PrintPreviewDialog
    einen Stream in der Vorschau anzeigen lassen. Soweit funktioniert das ganze auch.
    Ich poste mal den Code:

    Code :
    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
    
            private void printPreviewToolStripButton_Click(object sender, EventArgs e)
            {
                PrintPreviewDialog ppd = new PrintPreviewDialog();
                ppd.Location = new System.Drawing.Point(70, 80);
                ppd.ClientSize = new System.Drawing.Size(650, 850);
                ppd.Document = docToPrint;
                ppd.PrintPreviewControl.Zoom = 0.75;
                ppd.Document.DocumentName = IniClass.textfile;
                ppd.UseAntiAlias = true;
                docToPrint.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(docToPrint_PrintPage);
                ppd.ShowDialog();
            }
     
            System.IO.StreamReader sr;
            
            private void docToPrint_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
                // Insert code to render the page here.
                // This code will be called when the control is drawn.
     
                // The following code will render a simple
                // message on the document in the control.
                sr = new StreamReader(IniClass.textfile);
                string text = sr.ReadToEnd();
                sr.Close();
                System.Drawing.Font printFont = new Font("Arial",12, FontStyle.Regular);
                e.Graphics.DrawString(text, printFont, Brushes.Black, 10, 10);
            }

    In der 5. letzten Zeile übergebe ich den String per StreamReader: sr = new StreamReader(IniClass.textfile);

    Das Problem ist nur, wenn der Text länger als eine Seite beträgt, wird in der
    Vorschau nur 1 Seite angezeigt. Also der Text wird einfach abgeschnitten.
    Ich müsste also dem PreviewDialog sagen, daß, wenn der Text länger als eine Seite ist, dann auch eine 2. Seite hinzugefügt werden sollte.

    Hat evtl. Jemand Erfahrung damit?

    Danke Euch schon mal!
    Geändert von exiter28 (23.12.10 um 08:18 Uhr)
     

  2. #2
    HabKeineAhnung Tutorials.de Gastzugang
    Hallo,

    Stichwort: "HasMorePages".
    Hilfestellung findest Du hier: "http://msdn.microsoft.com/de-de/library/cwbe712d%28v=vs.85%29.aspx".

    Frohe Weihnachten.
     

Ähnliche Themen

  1. PrintPreviewDialog problem
    Von truespin im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 09.03.10, 08:49
  2. Antworten: 2
    Letzter Beitrag: 12.02.08, 19:26
  3. Antworten: 0
    Letzter Beitrag: 07.08.07, 18:12
  4. PrintPreviewDialog
    Von JK_net im Forum .NET Archiv
    Antworten: 5
    Letzter Beitrag: 25.04.05, 21:43
  5. PrintPreviewDialog mit RTF-Formatierung - aber wie?
    Von Asterix-Ac im Forum .NET Archiv
    Antworten: 0
    Letzter Beitrag: 10.06.04, 19:52