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:
In cui lo 0,5 indica il 50% delle dimensioni originali.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
![]()

Rispondi quotando