Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    printform vb.net

    ciao a tutti ho un grossissimo problema... come posso fare a stampare l'intero form di vb.net tramite l0oggetto printform senza che però nn mi tagli le parti nascoste furi dalla schermata del monitor??? grz mille in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    A parte le abbreviazioni tipo SMS io non ho capito la domanda.
    Sbagliare è umano, perseverare è diabolico.

  3. #3
    devo poter stampare l'intero form usando il comando printform, senza che però non mi vengano stampate le parti che nascoste, perchè in pratica il controllo printform non fa altro che stampare solo le parti che si vedono nel monitor... se un pezzo non si dovesse vedere non lo stampa. Come posso fare a stampare tutto il form per intero? o magari se non c'è alcun modo per fare ciò col comando prontform, non c'è nessun altro modo per stampare tutto il contenuto del form cosi come si trova???

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Scusa ma cosa sono le parti nascoste?
    Sbagliare è umano, perseverare è diabolico.

  5. #5
    le parti nascoste nel senso che se un form è troppo gande non viene visualizzato tutto... e quindi ci sn delle parti nascoste, non visibili... e quelle parti non vengono stampate dal printform.

  6. #6
    Ma sei sicuro che non sia un problema di "carta", cioè che le dimensioni della finestra siano + grandi di quelle del foglio utilizzato per la stampa?

  7. #7
    sicurissimo perchè mi resta un bel po di spazio bianco nel foglio...

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Il printForm stampa il Form indipendentemente dalla posizione sullo schermo, quindi anche se sposti la Form fuori dallo schermo verrà stampato correttamente. Se non viente stampato tutto il Form significa solo che le dimensioni della Form sono maggiori del formato della carta che utilizzi.
    Per il formato A4 ovvero 11,69" x 8,27" la massima risoluzione stampabile sarebbe di 1122 x 793 pixel.

    In tal caso utilizza il componente PrintDocument e:

    codice:
    Public Class Form1
    
        Dim memoryImage As Bitmap
        Dim bmp2 As Bitmap
    
    
        Private Sub CaptureScreen()
            Dim myGraphics As Graphics = Me.CreateGraphics()
            Dim s As Size = Me.Size
            memoryImage = New Bitmap(s.Width, s.Height, myGraphics)     
            Dim memoryGraphics As Graphics = Graphics.FromImage(memoryImage)
            memoryGraphics.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, s)
    
            bmp2 = New Bitmap( _
                memoryImage.Width * 0.5, _
                memoryImage.Height * 0.5, _
                Imaging.PixelFormat.Format24bppRgb)
            Dim g As Graphics = Graphics.FromImage(bmp2)
    
            g.InterpolationMode = _
            Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
    
            g.DrawImage(memoryImage, 0, 0, bmp2.Width, bmp2.Height)
            g.Dispose()
    
        End Sub
    
        Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
            e.Graphics.DrawImage(bmp2, 0, 0)
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            CaptureScreen()
            PrintDialog1.ShowDialog()
            PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
            PrintDocument1.Print()
        End Sub
    End Class
    In cui lo 0,5 indica il 50% delle dimensioni originali.

    Sbagliare è umano, perseverare è diabolico.

  9. #9
    Come suggerito da Pirelli72, calcola quindi le dimensioni (in pixel) del tuo form e vedi se rientrano nel range 1122x793; in caso contrario Pirelli72 ha già provveduto a postarti la soluzione..

    Ciao

  10. #10
    la soluzione di pirelli72 non fa altro che stamparmi una striscia lunga quanto tutto ilfoglio e larga 7cm di solo colore nero e poi comincia a stampare il form tagliato sia di sopra che di sotto.
    e per la cronaca il mio form è 1070 x 764.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.