Imprimer un formulaire sous vb.net

jerry6510 Messages postés 19 Date d'inscription vendredi 7 avril 2006 Statut Membre Dernière intervention 14 mars 2007 - 6 févr. 2007 à 10:35
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 8 févr. 2007 à 20:31
salut a tous !

j'ai un soucis je voudrai savoir comment je peut imprimer mon formulaire ?
merci

1 réponse

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
8 févr. 2007 à 20:31
Salut,

voici le code pour imprimer le formulaire en cours :

Private Declare Function BitBlt Lib "gdi32.dll" Alias "BitBlt" (ByVal _   hdcDest As IntPtr, ByVal nXDest As Integer, ByVal nYDest As _   Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal _   hdcSrc As IntPtr, ByVal nXSrc As Integer, ByVal nYSrc As Integer, _   ByVal dwRop As System.Int32) As Long

Dim memoryImage 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)
   Dim dc1 As IntPtr = mygraphics.GetHdc
   Dim dc2 As IntPtr = memoryGraphics.GetHdc
   BitBlt(dc2, 0, 0, Me.ClientRectangle.Width, _
      Me.ClientRectangle.Height, dc1, 0, 0, 13369376)
   mygraphics.ReleaseHdc(dc1)
   memoryGraphics.ReleaseHdc(dc2)

End Sub

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

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

End Sub

(Coloration syntaxique automatique par Kenji)

Maintenant tu n'as plus qu'à créer un bouton et créer la procédure pour détecter le clic sur ce bouton :

Private Sub Button_Click

End Sub

et de rajouter ces 2 lignes de code à l'intérieur de cette procédure

   CaptureScreen()
   PrintDocument1.Print()

Veuillez accepter la réponse si elle a réglé votre problème
, ----
0
Rejoignez-nous