Ceci est destiné à être un très simple et bref dans Visual Basic. NET . Facile à comprendre rapidement que cela fonctionne et à court (avec très peu de code), de sorte que rien ne nous empêche quand mettre notre touche personnelle. Les programmeurs sont très créatifs et j'ai passé de nombreuses fois, j'ai rencontré très complexe et remplie d'exemples de code, que j'ai eu à disséquer et analyser les pièces à comprendre son fonctionnement. Donc, j'essaie de mettre tout mon poste dans des exemples concrets, faciles à utiliser avec juste copier, coller et faire quelques contrôles mimina de configuration.
Nous avons besoin de:
Une Winform (Form1), un contrôle PrintDocument (PrintDocument1), un PrintDialog (PrintDialog1), une zone de texte (TextBox1) et un bouton (Button1). Le formulaire doit ressembler à cette image:

Copiez le code suivant dans l'événement Click de Button1
Ensuite, si PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings PrintDocument1.Print () End If
qu'il ne se ouvrir la boîte de dialogue pour sélectionner l'imprimante, puis passe toute la configuration passe de l'objet PrintDocument sélectionné, puis dit que vous imprimez. Qu'est ce qui déclenche l'événement PrintDocument PrintPage.
Maintenant, le PrintDocument1 objet double-cliquez et collez le code suivant
e.Graphics.DrawString (TextBox1.Text, une nouvelle police ("Verdana", 18, FontStyle.BOLD) Brushes.Black, 10, 10) Pour i As Integer = 1 To 10 e.Graphics.DrawString («ligne Exemple:" & i, une nouvelle police ("Tahoma", 10, FontStyle.BOLD) Brushes.Black, 10, 20 + (i * 30)) Prochain
Lorsque vous exécutez cette imprime le contenu de la boîte comme le titre de la page et une dizaine de lignes en utilisant l'échantillon différent et furnte et la taille. Le résultat doit ressembler à l'image suivante:

plus d'informations sur les contrôles ...
PrintDialog, composant (Windows Forms)
Le composant PrintDialog de Windows Forms est une boîte de dialogue préconfigurée est utilisé pour sélectionner une imprimante, choisir les pages à imprimer et à déterminer d'autres paramètres liés à l'impression dans des applications Windows. Utilisez-le comme une solution simple pour sélectionner les paramètres d'impression ou se rapportant à l'imprimante, au lieu de mettre en place une boîte de dialogue lui-même. Vous pouvez permettre aux utilisateurs d'imprimer les différentes parties de leurs documents: imprimer tout, imprimez la plage spécifiée de pages ou d'imprimer une sélection. En s'appuyant sur Windows les dialogues standards, de créer des applications dont les fonctionnalités de base est immédiatement familier pour les utilisateurs.
Composant PrintDocument (Windows Forms)
Le composant PrintDocument des Windows Forms est utilisé pour définir les propriétés qui décrivent les éléments à imprimer, puis imprimer le document en applications basées sur Windows.
Eh bien comme je l'ai fait le tour du poste et personne n'a répondu comme il le fait sur d'imprimer plus de pages, je me suis donné la tâche d'enquêter sur d'autres sites et j'ai trouvé un code mais ce milieu complexe pour enterlo facilement de sorte qu'il modique l'exemple qui sont le moteur ici, donc il ya deux cents mes et j'espère et je comprends okas
«Cette variable doit être publié
Ligne As Integer = 1
PrintDocument1_PrintPage Private Sub (sender System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Poignées PrintDocument1.PrintPage
«Nous définissons le type de police et plus
Source As Police New ("Arial", 10)
«Nous définissons que la position va commencer l'impression
La position As Integer = 20
«Le comte de lignes est imprimé
Lineaimpresa As Integer = 0
'Variable pour voir quand vous prenez un saut de page
As Boolean = False salto_pagina
'Variable pour désigner le nombre de lignes à imprimer par feuille
NroLineasPagina As Integer = 70
Pour i = ligne à 150
e.Graphics.DrawString («ligne Exemple:" & ligne, Source, Brushes.Black, 10, position)
la position + = 15
ligne + = 1
lineaimpresa + = une
Ensuite, si lineaimpresa = NroLineasPagina
salto_pagina = True
Exit For
End If
Prochain
Si salto_pagina = True Then
e.HasMorePages = True
D'autre
e.HasMorePages = False
End If
End Sub
Eh bien, j'espère et les servir et leur besoin de s'adapter au revoir Okas
Merci de nous aider.
De quoi est juste de faire quelque chose qui donne de nombreuses pages telles que l'aide agredicimiento et il est de faire quelque chose
que je peux imprimer
Imports System.IO
FrmDesCaratula Public Class
StringToPrint As String privé
Private Sub frmDesCaratula_Load (expéditeur As Object, e As System.EventArgs) Handles MyBase.Load
Me.MdiParent = mdiPrincipal
End Sub
Private Sub Button1_Click (sender As Object, e As System.EventArgs) Handles Button1.Click
Ensuite, si ptdConfiguracion.ShowDialog = Windows.Forms.DialogResult.OK
ptdDocumento.PrinterSettings = ptdConfiguracion.PrinterSettings
ptdDocumento.Print ()
End If
End Sub
Private Sub PrintDocument1_PrintPage (expéditeur As Object, e As System.Drawing.Printing.PrintPageEventArgs) Poignées ptdDocumento.PrintPage
e.Graphics.DrawString (TextBox1.Text, une nouvelle police ("Verdana", 18, FontStyle.BOLD) Brushes.Black, 10, 10)
Pour i As Integer = 1 To 10
e.Graphics.DrawString («ligne Exemple:" & i, une nouvelle police ("Tahoma", 10, FontStyle.BOLD) Brushes.Black, 10, 20 + (i * 30))
Prochain
'----- All Printing UN DOCUMENT
As Integer = 0 charactersOnPage
As Integer = 0 linesPerPage
'Définit la valeur du nombre de caractères à charactersOnPage
«Ce sera l'ajustement de stringToPrint Dans les limites de la page.
'E.Graphics.MeasureString (stringToPrint, Me.Font, e.MarginBounds.Size, _
«StringFormat.GenericTypographic, charactersOnPage, linesPerPage)
«Dessine la chaîne dans les limites des de la page
'E.Graphics.DrawString (stringToPrint, Me.Font, Brushes.Black, _
«E.MarginBounds, StringFormat.GenericTypographic)
«Enlever la partie de la chaîne qui a été imprimé.
«StringToPrint = stringToPrint.Substring (charactersOnPage)
Vérifier pour voir si d'autres pages doivent être imprimées.
'= E.HasMorePages stringToPrint.Length> 0
End Sub
Private Sub Button2_Click (expéditeur As Object, e As System.EventArgs) Handles Button2.Click
ReadFile ()
ptdDocumento.Print ()
End Sub
Private Sub ReadFile ()
DocName As String = "index.html"
DocPath As String = "G: \"
ptdDocumento.DocumentName = docName
Flux As New FileStream (DocPath + docName, FileMode.Open)
Essayer
Dim lecteur As New StreamReader (stream)
Essayer
reader.ReadToEnd stringToPrint = ()
Enfin
reader.Dispose ()
End Try
Enfin
stream.Dispose ()
End Try
End Sub
Private Sub Button3_Click (expéditeur As Object, e As System.EventArgs) Handles Button3.Click
ppdVista.Document = ptdDocumento
ppdVista.ShowDialog ()
End Sub
End Class
Cela a fonctionné pour moi, vous avez besoin d'une texbox: TextBox1
PrintDocument: ptdDocumento
PrintPreviewControl: ppdVista
PrintDialog: ptdConfiguracion
Intéressant article, mais se demandent comment nous devons agir plus les environnements professionnels tels que l'impression de billets, reçus, factures ou chèques de contrôle si l'imprimante est en ligne et a papier ou impreison mido de l'impression a été arrêté pour les quelques erreurs.
Enregistrer hacerca de ce que vous mentionnez comme je l'ai essayé à plusieurs reprises, sans succès, cela et n'ai rien trouvé pour résoudre ce problème.
Salutations.
Atte. Kevin Ramirez
Bonjour, a voulu savoir si vous aviez des tutoriels afin que vous puissiez imprimer le contenu d'un datagridview parce que tout je trouve sur internet est un code beaucoup plus et en mesure d'exécuter quoi que ce soit hein!.
Je vous serais très reconnaissant si vous aviez des informations à ce sujet.
Cordialement
Cher, j'ai été la programmation de plus de 10 ans chez Microsoft, est passé par VB6 et maintenant je suis avec VS2010.
Je n'ai pas trouvé un outil plus souple PrintDocument pour les rapports, il n'y a rien qu'il ne pouvait pas faire.
Si vous avez des questions s'il vous plaît contactez-moi.
ce qui concerne
Bonjour Manuel, je passerais un e-mail de contact pour être plus en ligne et ainsi de me donner un coup de main?
Merci beaucoup
J'ai la mienne quitter
francocsanchez@gmail.com
Il est très nécessaire: T
Eh bien Manuel agredece vous beaucoup pour la réponse que je vais me commander comme un e-mail ou tout contact me facilitaras parce que j'ai environ six mois dans cette.
Et je pense que l'une d'une certaine orientation professionnelle que je pourrais utiliser.
Je laisse mon mail.
kevinramirez92@hotmail.com
Salutations.
Atte. Kevin Ramirez.
Manuel J'ai besoin d'aide sur la façon d'imprimer le contenu d'un datagridview!.
Pourriez-vous me donner un coup de main?
francocsanchez@gmail.com
Salutations.
Q est est que mon courrier parfois juste besoin d'aide pour l'impression automatique en Visual Basic 2010.
Luis_Cepedaf@hotmail.com
Certains bibliothèque spécifique pour charger les valeurs textbox dans un document Excel et les dimensions fixé en fonction de l'immpresora.
Merci
Salut désolé j'ai besoin d'aide urgente Ce qui arrive est que je veux savoir comment je peux imprimer le contenu d panel dans lequel j'ai une image (plus grande que le panneau à la manipulation k scrollBar) et une zone de texte ... quelques-uns tout à partir d'un PrintDocument. Salut désolé j'ai besoin d'aide urgente Ce qui arrive est que je veux savoir comment je peux imprimer le contenu d panel dans lequel j'ai une image (plus grande que le panneau à la manipulation k scrollBar) et une zone de texte ... quelques-uns tout à partir d'un PrintDocument. Salut désolé j'ai besoin d'aide urgente Ce qui arrive est que je veux savoir comment je peux imprimer le contenu d panel dans lequel j'ai une image (plus grande que le panneau à la manipulation k scrollBar) et une zone de texte ... quelques-uns tout à partir d'un PrintDocument.
je vous remercie beaucoup, le premier exemple simple qui fonctionne
Merci. La clarté et la rigueur. Grande. Maintenant je dois faire les cycles et les filtres nécessaires pour imprimer les enregistrements dans une base de données, mais que cette très clairement comment exposés que vous avez trouvé ailleurs très faiblement exposés. Vous devez être un grand professeur.
J'ai servi votre exemple, si j'ai une question comme je peux de alprograma cirle impression à la position droite de mon e-mail est yack7raro@gmail.com si lagon poersona connu sous le nom
Le poste est excellent, j'ai besoin de quelques détails pour terminer l'impression mon label, dans ce cas le premier point est d'imprimer ce qu'il ya dans la boîte, et la seconde pour adapter la position de l'impression, des salutations et vous remercie beaucoup ...
PS Le texte de l'impression sur la première zone de texte ci-dessous le code à barres codes-barres doivent être imprimés en caractères normaux est la partie qui ne précise pas, merci ...