Imprimer facilement sous dotnet (classe printdocumentex)

Description

Imprimer sous DOTNET est moins facile que sous VB6. Ceux qui ont déjà essayé doivent me comprendre. Il y a bien sûr la solution simple de passer par un RichTextBox, comme je l'ai montré dans mon programme Mots, mais il y a des limitations, par exemple le multicolonage ou le positionnement exact d'un élément...
En fait, la classe PrintDocument n'est pas très riche et il faut gérer l'événement PrintPage, ce qui est souvent fastidieux. Alors j'ai ajouté quelques fonctionalités dans ma classe héritée de PrintDocument. Le principe est simple : un ArrayList stocke les informations à imprimer et j'ai créé le code qui va bien pour l'événement PrintPage. Le "client" est ainsi déchargé de l'aspect fastidieux... J'ai utilisé la surcharge (maintenant qu'on peut !) pour simplifier au maximum. L'exemple est je pense suffisamment explicite même s'il ne prend pas en compte toutes les possibilités.
Cette première version demande bien sûr à s'enrichir et s'améliorer, et elle est certainement bogué mais elle tourne impec dans mon appli alors... Je ne me suis pas acharné à optimiser et compléter mais si le besoin s'en fait sentir...
La classe PageSetupDialogex a déjà fait l'objet d'un source sur VBFrance... Je vous y renvoie pour les commentaires correspondants...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.