Avatar billede morpheus1000 Nybegynder
28. november 2007 - 10:58

Print af form i C# (Visual Studio 2008)

Hej

Jeg vil gerne printe min form ud, som jeg har lavet i visual studio 2008. Jeg har brugt følgende kode:

//Print funktion
        [System.Runtime.InteropServices.DllImport("gdi32.dll")]
        //Dette hentes fra gdi32.dll
        public static extern long BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
        private Bitmap memoryImage;
        private void CaptureScreen()
        {
            Graphics mygraphics = this.CreateGraphics();
            Size s = this.Size;
            memoryImage = new Bitmap(s.Width, s.Height, mygraphics);
            Graphics memoryGraphics = Graphics.FromImage(memoryImage);
            IntPtr dc1 = mygraphics.GetHdc();
            IntPtr dc2 = memoryGraphics.GetHdc();
            //Her dannes bitmap billedet som C kode.
            BitBlt(dc2, 0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 0, 0, 13369376);
            mygraphics.ReleaseHdc(dc1);
            memoryGraphics.ReleaseHdc(dc2);
        }
        private void printDocument1_PrintPage(System.Object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            //Til sidst printes billedet her
            e.Graphics.DrawImage(memoryImage, 0, 0);
        }

Som jeg har fået fra: http://msdn2.microsoft.com/en-us/library/aa287529(VS.71).aspx

Jeg printer til windows default printer så jeg får en fil ud. Funktionen virker og der kommer et print, desværre kommer der ikke noget ud på billedet. Og er der nogen der ved hvad disse linier gør?
IntPtr dc1 = mygraphics.GetHdc();
            IntPtr dc2 = memoryGraphics.GetHdc();
            //Her dannes bitmap billedet som C kode.
            BitBlt(dc2, 0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 0, 0, 13369376);

Håber der er nogen der kan hjælpe.
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