Stampare il form corrente

di il
3 risposte

Stampare il form corrente

Buon pomeriggio,mi aiutate a correggere l'errore non riesco a stampare il form  corrente ma mi fa stampare solo una porzione di scermo forse non devo usare il metoto graphic? allego il codice grazie

Public Class Form1
    Dim g, NG As Graphics
    Dim bmp As Bitmap


    Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

        e.Graphics.DrawImage(bmp, 0, 0)

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        g = CreateGraphics()

        bmp = New Bitmap(Size.Width, Size.Height, g)




        NG = Graphics.FromImage(bmp)
        NG.CopyFromScreen(Location.X, Location.Y, 0, 0, Size)

        'NG.CopyFromScreen(Location.X, Location.Y, 0, 0, Size)
        PrintPreviewDialog1.ShowDialog()




    End Sub
End Class

3 Risposte

  • Re: Stampare il form corrente

    ….. ma almeno hai capito su quale linea è l'errore ???

    Prova questo:

        Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    
            e.Graphics.PageUnit = GraphicsUnit.Millimeter
    
            ' fisso l'immagine a larghezza 190mm, per cui calcolo l'altezza
            Dim hImg = CInt(190 / bmp.Width * bmp.Height)
    
            e.Graphics.DrawImage(bmp, 10, 10, 190, hImg)
    
        End Sub
    
  • Re: Stampare il form corrente

    Ciao,no non mi dava errore ,mi stampava solo una porzione di form …ma ho capito l'errore

    mi stampava su una stampante pos .quindi fuori misura form-

    ho messo predefinito sia l'altra stampante sia se stampo su pdf mi funziona correttamente,

    quindi dovevo solo togliere il pos da predefinito .

    grazie comunque.

  • Re: Stampare il form corrente

    08/05/2023 - SirJo ha scritto:


    ….. ma almeno hai capito su quale linea è l'errore ???

    Prova questo:

        Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    
            e.Graphics.PageUnit = GraphicsUnit.Millimeter
    
            ' fisso l'immagine a larghezza 190mm, per cui calcolo l'altezza
            Dim hImg = CInt(190 / bmp.Width * bmp.Height)
    
            e.Graphics.DrawImage(bmp, 10, 10, 190, hImg)
    
        End Sub							
    

    grazie provero ad usare anche questo

Devi accedere o registrarti per scrivere nel forum
3 risposte