Partage

Imprimer VB.NET

Vb 2010

Sujet résolu
Le 11 septembre 2012 à 0:15:32

Bonjour/Bonsoir :D

je suis débutant en visual basic et je travail avec vb 2010 pour info.

et j'aimerai votre aide svp, j'en suis désolé si la question à déjà été posé...

je vaudrais imprimer une form qui contient essentiellement des textbox et label, j'ai déja essayer avec printform
mais il m'imprime pas la form complète et parfois je retrouve des morceau de mes autres fenêtres o_O je sais qu'il capture juste une image...

donc je ne sais pas si il y'a un moyen d'imprimer des textbox direct ou sauver d'abord en fichier puis imprimer ...

je vous remercie de votre aide d'avance
Publicité
Le 11 septembre 2012 à 0:15:32
Le 11 septembre 2012 à 8:41:18

Bonjour,

Alors a priori il n'y a pas d'équivalent à PrintForm de VB6 en VB.NET en revanche tu peux avoir plusieurs solutions pour imprimer ta form.

Tu as un composant qui s'apelle PrintForm .NET Printing Component qui a une version gratuite d'essai qui peut faire ca : http://www.winformreports.co.uk/

Tu peux aussi utiliser Visual Basic Power Packs 3.0 : http://msdn.microsoft.com/en-us/vbasic/bb735936.aspx

Ou sinon tu utilise DrawToBitmap sur ta form pour la dessiner dans une image que tu imprime ensuite.

Le 11 septembre 2012 à 19:02:59

merci pour la réponse rapide ^^

je vais bouquiner tout cela et je reviendrai vers vous


merci encore et bonne continuation
Le 11 septembre 2012 à 22:49:02

Bonjour,

Voici un exemple de code en deux possibilités :

Sub Button1_Click(...
Me.PrintPreviewControl1.Zoom = 0.6
Me.PrintPreviewControl1.Rows = 1
Dim PageSetupDialog As New PageSetupDialog()
PageSetupDialog.Document = PrintDocument1
PageSetupDialog.PageSettings.Landscape = True
Me.PrintPreviewControl1.Document = Me.PrintDocument1
End Sub

Sub Button2_Click(...
Dim PageSetupDialog As New PageSetupDialog()
PageSetupDialog.Document = PrintDocument1
PageSetupDialog.PageSettings.Landscape = True
Me.PrintDocument1.Print()
End Sub

Sub PrintDocument1_PrintPage(...
Dim bmp As New Bitmap(Me.Width, Me.Height, Imaging.PixelFormat.Format32bppArgb)
Me.DrawToBitmap(bmp, New Rectangle(0, 0, Me.Width, Me.Height))
e.Graphics.DrawImage(bmp, 10, 10)
End Sub


Le 12 septembre 2012 à 16:28:49

merci joe

mais comment je le mettre en mode portrait?

Sub Button2_Click(...
Dim PageSetupDialog As New PageSetupDialog()
PageSetupDialog.Document = PrintDocument1
PageSetupDialog.PageSettings.Landscape = True
Me.PrintDocument1.Print()
End Sub

Sub PrintDocument1_PrintPage(...
Dim bmp As New Bitmap(Me.Width, Me.Height, Imaging.PixelFormat.Format32bppArgb)
Me.DrawToBitmap(bmp, New Rectangle(0, 0, Me.Width, Me.Height))
e.Graphics.DrawImage(bmp, 10, 10)
End Sub



merci encore
Le 12 septembre 2012 à 16:54:40

Salut,
Tu peux aussi procéder comme ceci pour imprimer un formulaire :

'Pour imprimer
 ' si boite autour des controles textbox, combobox True sinon false premier param
        ' param la Form, Cadre Oui ou non, Boutton Oui ou Non)   deuxième param

Dim fp As New PrintForm.FormPrinting(Me, True, True)
fp.Print()
Le 13 septembre 2012 à 9:06:24

Bonjour ach2003,

Réponse :

PageSetupDialog.PageSettings.Landscape = True ' paysage
PageSetupDialog.PageSettings.Landscape = False ' portrait


Je ne reçois jamais les réponses par email ???

*

Pour Blue sh4rk,

Ça marche pas ton code, il doit manquer quelque chose (objet, classe) ?

Dim fp As New PrintForm.FormPrinting(Me, True, True)
fp.Print()


Refusé par vb :
PrintForm.FormPrinting
NON DEFINI
Le 13 septembre 2012 à 15:20:33

Citation : EhJoe

Bonjour ach2003,

Réponse :

PageSetupDialog.PageSettings.Landscape = True ' paysage
PageSetupDialog.PageSettings.Landscape = False ' portrait





Merci ça marche, et il y'a autre chose c'est quand ça imprime la qualité est vraiment mauvaise...

sinon ça marche plutôt bien je vous remercie tous et toutes surtout ejoe
et bon continuation
:p;)

Imprimer VB.NET

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown