Comment Faire Une Fonction Imprimer Sur Visual Basic 2010 Express

Alors, tu te lances dans le monde merveilleux de Visual Basic 2010 Express? Formidable! C'est un excellent choix pour apprendre à programmer et créer des applications sympas. Et devine quoi? On va s'attaquer à un truc super utile aujourd'hui: l'impression! Oui, oui, faire en sorte que ton programme puisse envoyer des données à une imprimante. C'est pas de la magie, promis, juste un peu de code bien placé.
Pourquoi c'est important, me diras-tu? Imagine que tu as créé un programme pour gérer tes recettes de cuisine (miam!). Ce serait quand même génial de pouvoir imprimer une recette rapidement pour l'avoir sous les yeux pendant que tu cuisines, non? Ou peut-être un programme pour faire des étiquettes d'adresses? L'impression, c'est la touche finale qui rend ton programme vraiment pratique.
L'Objet PrintDocument: Notre Ami pour l'Impression
Visual Basic 2010 Express nous offre un allié de taille: l'objet PrintDocument. C'est lui qui va faire le gros du travail. Pense à lui comme un messager entre ton programme et l'imprimante. Il transporte les informations à imprimer. Comment on s'en sert?
Must Read
Premièrement, tu vas devoir ajouter un contrôle PrintDocument à ton formulaire. Dans ta boîte à outils (toolbox), tu le trouveras facilement. Fais-le glisser et dépose-le sur ton formulaire. Ne t'inquiète pas, tu ne le verras pas apparaître directement sur le formulaire lors de l'exécution de ton programme. Il reste en coulisses, prêt à agir.
Ensuite, il faut programmer l'événement PrintPage de cet objet. C'est là que la magie opère! Cet événement est déclenché chaque fois que l'imprimante est prête à recevoir une nouvelle page à imprimer. C'est à nous de lui dire quoi imprimer, où et comment.
Double-clique sur ton contrôle PrintDocument dans la vue design de ton formulaire. Ça va automatiquement créer la structure de l'événement PrintPage dans ton code. Tu verras quelque chose comme ça:

Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
'Ici, on met le code pour l'impression!
End Sub
Du Code, du Code, du Code! (Pas si effrayant que ça...)
Maintenant, parlons du code. Dans l'événement PrintPage, on va utiliser l'objet e.Graphics. Cet objet représente la surface d'impression de la page. C'est avec lui qu'on va dessiner du texte, des images, des lignes... Tout ce qu'on veut voir sur la page imprimée!
Par exemple, pour imprimer un simple texte, tu peux utiliser la méthode DrawString de l'objet e.Graphics:
e.Graphics.DrawString("Bonjour le monde! Ceci est un test d'impression.", New Font("Arial", 12), Brushes.Black, 10, 10)

Voyons ça de plus près:
"Bonjour le monde! Ceci est un test d'impression.": C'est le texte qu'on veut imprimer. Remplace-le par ce que tu veux!New Font("Arial", 12): Définit la police (Arial) et la taille (12) du texte. Tu peux choisir d'autres polices et tailles, bien sûr!Brushes.Black: Définit la couleur du texte (noir dans ce cas). Tu peux utiliser d'autres couleurs avecBrushes.Red,Brushes.Blue, etc.10, 10: Définit les coordonnées (X, Y) du coin supérieur gauche du texte sur la page. En gros, c'est là que le texte va commencer à être imprimé.
Tu peux aussi imprimer des variables, des valeurs provenant de tes TextBox... Les possibilités sont infinies! Il suffit de remplacer le texte entre guillemets par le nom de ta variable ou la propriété de ton contrôle. Par exemple:
e.Graphics.DrawString(TextBox1.Text, New Font("Arial", 12), Brushes.Black, 10, 10)
Déclencher l'Impression: Le Bouton Magique
Maintenant, il faut un moyen de déclencher l'impression, non? Le plus simple, c'est d'ajouter un bouton à ton formulaire. Dans le code de l'événement Click de ce bouton, tu vas ajouter ces lignes:

PrintDocument1.Print()
Et voilà! C'est tout! Ce code dit simplement à l'objet PrintDocument de lancer l'impression. Bien sûr, il faut s'assurer que l'imprimante est correctement configurée sur l'ordinateur.
Un petit plus: Tu peux ajouter une boîte de dialogue d'impression (PrintDialog) pour permettre à l'utilisateur de choisir l'imprimante, le nombre de copies, etc. C'est un ajout facile qui rend ton programme encore plus convivial.
Dim printDialog As New PrintDialog()
printDialog.Document = PrintDocument1
If printDialog.ShowDialog() = DialogResult.OK Then
PrintDocument1.Print()
End If

Ajoute ce code dans le click du bouton et tu vas avoir la fenetre d'impression avant l'impression.
Ce N'est Que le Début de l'Aventure!
Voilà! Tu sais maintenant comment faire une fonction d'impression basique sur Visual Basic 2010 Express. C'est un premier pas, bien sûr. Il y a encore beaucoup à explorer: gérer plusieurs pages, imprimer des images, formater le texte... Mais tu as les bases! Et c'est le plus important!
N'hésite pas à expérimenter, à chercher des exemples en ligne, à poser des questions. La programmation, c'est un apprentissage continu. Mais c'est aussi une source de satisfaction immense de voir tes idées prendre vie. Alors, lance-toi, amuse-toi, et crée des programmes incroyables!
Le monde de la programmation t'ouvre ses portes. Visual Basic 2010 Express est un excellent point de départ pour ce voyage passionnant. Alors, à toi de jouer et n'oublie pas: chaque ligne de code est une nouvelle aventure! Ose, explore, et transforme tes idées en réalité!
