Avatar billede kwudo Nybegynder
30. september 2006 - 22:11 Der er 7 kommentarer og
1 løsning

Udskrivelse af side..

Godaften alle sammen.

Jeg sidder og rodder med et lille tekst program.
Men jeg mangler lige lidt funktioner, jeg fik hjælp herinde til at gemme og hente fil.
Og lærte der noget nyt, som hjalp mig med en masse andre funktioner :-)

Men prøvede så at lave følgene kode

        private void udskrivToolStripMenuItem_Click(object sender, EventArgs e)
        {
            printDocument1.Print();
        }

Ved godt jeg skal have sat richTextBox1 ind et sted, men hvor ved jeg ikke :/

Har prøvet at sætte det her printDocument.Print(richTextBox1);

Men det virker bare ikke.
Nogen der kan hjælpe?

m.v.h.
Rasmus
Avatar billede bulgroz Nybegynder
01. oktober 2006 - 10:43 #1
Avatar billede kwudo Nybegynder
01. oktober 2006 - 10:53 #2
Kan man ikke bruge en nemmere funktion?
Avatar billede kwudo Nybegynder
01. oktober 2006 - 10:54 #3
Men tak iøvrigt, der er da mange gode ting :)
Avatar billede bulgroz Nybegynder
01. oktober 2006 - 11:38 #4
Nej ikke hvad jeg ved af (og det er nu ikke så svært alligevel når du kigger lidt nærmere på koden). Men selvfølgelig skal du udskifte StringReaderen og i stedet blot loope gennem din RichTextBox.Lines.
Avatar billede bulgroz Nybegynder
01. oktober 2006 - 16:56 #5
Samme eksempel tilpasset RichTextBox:

        private int counterPrintedLines;

        public Form1()
        {
            InitializeComponent();
        }

        private void ButtonPrintClick(object sender, EventArgs eventArgs)
        {
            try
            {
                this.counterPrintedLines = 0;
                PrintDocument printDocument = new PrintDocument();
                printDocument.PrintPage += new PrintPageEventHandler(PrintDocumentPrintPage);
                printDocument.Print();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }

        void PrintDocumentPrintPage(object sender, PrintPageEventArgs printPageEventArgs)
        {
            int leftMargin = printPageEventArgs.MarginBounds.Left;
            int topMargin = printPageEventArgs.MarginBounds.Top;
            float y = 0;

            // Calculate the number of lines per page.
            float linesPerPage = printPageEventArgs.MarginBounds.Height / this.richTextBox.Font.GetHeight(printPageEventArgs.Graphics);

            int linesToPrint = this.richTextBox.Lines.Length;
            int linesPrintedThisPage = 0;

            // Print each line of the file.
            while (linesPrintedThisPage < linesPerPage &&
                  this.counterPrintedLines < linesToPrint)
            {
                string line = this.richTextBox.Lines[counterPrintedLines];
                y = topMargin + (linesPrintedThisPage * this.richTextBox.Font.GetHeight(printPageEventArgs.Graphics));
                printPageEventArgs.Graphics.DrawString(line, this.richTextBox.Font, Brushes.Black, leftMargin, y, new StringFormat());
                linesPrintedThisPage++;
                this.counterPrintedLines++;
            }

            printPageEventArgs.HasMorePages = counterPrintedLines < linesToPrint;
        }
Avatar billede kwudo Nybegynder
08. oktober 2006 - 20:25 #6
Det virker ikke :/
Avatar billede bulgroz Nybegynder
08. oktober 2006 - 20:33 #7
Uddyb venligst!
Avatar billede kwudo Nybegynder
22. september 2007 - 21:05 #8
bulgroz smid et svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester