Print error

Status
Niet open voor verdere reacties.

Scoox

Gebruiker
Lid geworden
22 jan 2013
Berichten
100
Ik ben nu met een tekst editor bezig en moet het moet ook mogelijk zijn om de tekst te kunnen printen.
Nu heb ik dus een code over genomen (nog nooit print optie gebruikt).
eerst had ik een heleboel errors nu heb ik ze allemaal weg op 1 na en ik zou het zo niet weten hoe ik die weg krijg.

Error 1 The name 'DocumentToPrint_PrintPage' does not exist in the current context C:\Users\ExitReizen\documents\visual studio 2012\Projects\Data Verplaatsen v1\Data Verplaatsen v1\Form1.cs 81 72 Data Verplaatsen v1



[CPP] private void btn_print_Click(object sender, EventArgs e)
{
PrintDialog printDialog = new PrintDialog();
PrintDocument documentToPrint = new PrintDocument();
printDialog.Document = documentToPrint;

if (printDialog.ShowDialog() == DialogResult.OK)
{
StringReader reader = new StringReader(mtxt_schrijfen.Text);
documentToPrint.PrintPage += new PrintPageEventHandler(DocumentToPrint_PrintPage);
documentToPrint.Print();
}
}
[/CPP]
 
De melding geeft al aan wat er mis is: de methode 'DocumentToPrint_PrintPage' mist.
Deze methode zorgt ervoor wat er uit de printer komt.
Hieronder een voorbeeld van microsoft hoe zo'n methode eruit kan zien:
Code:
// The PrintPage event is raised for each page to be printed. 
    private void DocumentToPrint_PrintPage(object sender, PrintPageEventArgs ev)
    {
        float linesPerPage = 0;
        float yPos = 0;
        int count = 0;
        float leftMargin = ev.MarginBounds.Left;
        float topMargin = ev.MarginBounds.Top;
        string line = null;

        // Calculate the number of lines per page.
        linesPerPage = ev.MarginBounds.Height /
           printFont.GetHeight(ev.Graphics);

        // Print each line of the file. 
        while (count < linesPerPage &&
           ((line = streamToPrint.ReadLine()) != null))
        {
            yPos = topMargin + (count *
               printFont.GetHeight(ev.Graphics));
            ev.Graphics.DrawString(line, printFont, Brushes.Black,
               leftMargin, yPos, new StringFormat());
            count++;
        }

        // If more lines exist, print another page. 
        if (line != null)
            ev.HasMorePages = true;
        else
            ev.HasMorePages = false;
    }
Je moet dus in deze method exact aangeven wat en waar het op het papier wordt geprint.
In bovenstaand voorbeeld wordt een bestand uitgelezen per regel (streamToPrint) en elke regel op papier gedrukt.
Als het papier vol is, wordt er gekeken of alle regels zijn afgedrukt. Als dat zo is kan de print worden afgesloten (ev.HasMorePages = false), of wordt deze methode opnieuw aangeroepen (ev.HasMorePages = true)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan