begin process at 2010 02 10 03:26:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

[C#] Impression d'un formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[C#] Impression d'un formulaire

mercredi 11 mai 2005 à 11:58:29 | [C#] Impression d'un formulaire

Vapula


Bonjour,

Je débute en C#, je voudrais savoir comment peut on imprimer un Form

J'ai un Form qui contient divers Label, TextBox, GroupBox, Button, ... et je voudrais imprimer ce formulaire sans les boutons et sans changer la mise en page si possible
J'ai vu dans les sources l'impression d'un RichText mais pas d'un formulaire.

Merci d'avance, et bon code
Vapula

mercredi 11 mai 2005 à 12:25:16 | Re : [C#] Impression d'un formulaire

MorpionMx

Membre Club Administrateur CodeS-SourceS
Déclaration des constantes :

        private const int WM_PRINT = 0x0317;
        private const int PRF_CHECKVISIBLE = 0x00000001;
        private const int PRF_NONCLIENT = 0x00000002;
        private const int PRF_CLIENT = 0x00000004;
        private const int PRF_ERASEBKGND = 0x00000008;
        private const int PRF_CHILDREN = 0x00000010;
        private const int PRF_OWNED = 0x00000020;

...     

            Bitmap bmp = new Bitmap(this.Width, this.Height);
            Graphics bmpGraphics = Graphics.FromImage(bmp);
            IntPtr bmpHdc = bmpGraphics.GetHdc();

            Message msg = new Message();
            msg.Msg = WM_PRINT;
            msg.HWnd = this.Handle;
            msg.WParam = bmpHdc;
            msg.LParam = new IntPtr(PRF_NONCLIENT | PRF_CLIENT | PRF_ERASEBKGND | PRF_CHILDREN | PRF_OWNED);
            this.WndProc(ref msg);

            bmpGraphics.ReleaseHdc(bmpHdc);
            bmpGraphics.Dispose();

Et ensuite tu n'as plus qu'a imprimer le bitmap bmp

Mx
mercredi 11 mai 2005 à 14:39:40 | Re : [C#] Impression d'un formulaire

Vapula

Merci

Donc si je comprends bien ce code me genere une image de mon ou mes formulaires visible(s).

Mais par contre pour l'impression , je vois pas comment faire.

Vapula



mercredi 11 mai 2005 à 14:47:08 | Re : [C#] Impression d'un formulaire

MorpionMx

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Il va te faire une "capture" du control dont tu passes le handle a cette ligne :
            msg.HWnd = this.Handle;
Donc pas de toutes les fenetres visibles.
Si tu voulais juste imprimer le contenu d'un panel, tu pourrais mettre
            msg.HWnd = monPanel.Handle;

Pour l'imprimer ensuite, tu instancies un objet PrintDocument, et dans l'evemenent PrintPage tu marque :

        private void printDoc_PrintPage(object sender, PrintPageEventArgs e)
        {
            e.Graphics.DrawImage(bmp, 0, 0, bmp.Width, bmp.Height);
        }

et hop, c'est imprimé

Mx
mercredi 11 mai 2005 à 15:02:13 | Re : [C#] Impression d'un formulaire

Vapula

Merci je vais me débrouiller avec ca va marcher

Bon code
Vapula


mardi 26 juillet 2005 à 13:52:25 | Re : Urgent [C#] Impression d'un formulaire

swiniya

Salut,

J'ai essaye ton code d'imprimer et j'ai reçu ces erreures :
"'System.Messaging.Message' ne contient pas de définition pour 'HWnd'

"System.Messaging.Message' ne contient pas de définition pour 'WParam'"
" 'System.Messaging.Message' ne contient pas de définition pour 'LParam'
" 'essai.email' ne contient pas de définition pour 'WndProc'
Aidez moi svp !!! c tres important pour moi (mon projet de fin d'etudes)!!

jeudi 28 juillet 2005 à 22:50:50 | Re : [C#] Impression d'un formulaire

coq

Administrateur CodeS-SourceS
Il s'agit ici de la structure System.Windows.Forms.Message, pas de System.Messaging.Message.



Cocoricoooooooo !!!!
coq
MVP Visual C#
vendredi 29 juillet 2005 à 12:14:41 | Re : [C#] Impression d'un formulaire

swiniya

Salut ,

J'ai utilise System.Windows.forms pour resoudre le probleme de message mais je reçois ces erreurs encore !! voila le code que j'utilise !!!

private void pd_PrintPage(object sender, PrintPageEventArgs e)

{

Bitmap bmp = new Bitmap(900, 900);

Graphics bmpGraphics = Graphics.FromImage(bmp);

IntPtr bmpHdc = bmpGraphics.GetHdc();

System.Windows.Forms.Message msg = new Message();

msg.Msg = WM_PRINT;

msg.HWnd = this.Panel1.Handle;

msg.WParam = bmpHdc;

msg.LParam = new IntPtr(PRF_NONCLIENT | PRF_CLIENT | PRF_ERASEBKGND | PRF_CHILDREN | PRF_OWNED);

this.WndProc(ref msg);

 

bmpGraphics.ReleaseHdc(bmpHdc);

bmpGraphics.Dispose();

 

PrintDocument pd = new PrintDocument();

e.Graphics.DrawImage(bmp, 0, 0, bmp.Width, bmp.Height);

}

private void Button3_Click(object sender, System.EventArgs e)

{

pd.Print();

}

Les erreurs:

...

 'essai.email' ne contient pas de définition pour 'Handle'

'essai.email' ne contient pas de définition pour 'WndProc'
: 'System.Web.UI.WebControls.Panel' ne contient pas de définition pour 'Handle'

 Le type ou le nom d'espace de noms 'pd' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

Merci bcp vous me sauvez la vie!!!!!!

vendredi 29 juillet 2005 à 19:19:09 | Re : [C#] Impression d'un formulaire

coq

Administrateur CodeS-SourceS
Normal donc :
'System.Web.UI.WebControls.Panel' ne contient pas de définition pour 'Handle'

=>  Le sujet de ce post concerne les applications windows, pas web.



Cocoricoooooooo !!!!
coq
MVP Visual C#
vendredi 29 juillet 2005 à 19:23:45 | Re : [C#] Impression d'un formulaire

swiniya

salut!!

comment pourais-je alors imprimer un panel dans une web application ???

1 2 3

Cette discussion est classée dans : impression, form, formulaire, imprimer


Répondre à ce message

Sujets en rapport avec ce message

Impression d'un form sur plusieurs pages [ par PsyCaDi ] Bonjour à tous,J'ai un petit problème avec l'impression d'un formulaire.Voilà, j'ai un formulaire assez grand avec une scrollbar verticale et je voudr Impression de formulaire [ par cudenetf ] bonjour, Je suis debutant en c# pour imprimer un formulaire je parcours la liste des controls et pour chacun d'eux je "dessine" celui_ci et son text e imprimer qu'une partie de ma form [ par anthonycosson ] salutvoila jai mon apllication et jaimerai imprimer juste une zome de mon application seriez vous comment faire merci...tchao probleme de focus [ par cudenetf ] bonjour,j'ai un formulaire qui lance un autre formulaire (composé uniquement de labels).Je ne veux pas que le premier formulaire disparaisse, je veux imprimer contenu d'une listbox [ par hellraiser94 ] bonjour,je souhaiterais savoir comment je peux faire l'impression du contenu d'une listbox à l'aide d'un bouton qui lance l'impression, tout ceci dans impression [ par hoodlum ] Bonjour ;j'ai crée une form ou il y a un graph et des textBox et richTextBox et j'aimerai imprimer cette form sans passer par word,excel.Quelqu'un aur imprimer un fichier avec options d'impression [ par mathmax ] Bonjour,J'aimerais pouvoir imprimer des fichiers de toutes sorte (.doc, .html, ...) à partir de leur programme par défaut, en donnant des paramètres d Impression [ par citt ] Bonjour,Je cherche à imprimer des elements de ma form qui sont :   - des label en mode FixedSingle (simulation de tableau)    - un graphique des resul Actualiser les données dans un form [ par GerardChezy ] Bonjour.Comment puis-je actualiser les données affichées dans un formulaire, qui viennent d'une méthode static d'un objet (liste de clients) et qui né Form principale C#2 avec VS 2005 [ par alecccc ] Bonjour à tous,Debutant en C#.NET j'ai remarqué qu'il m'etait impossible de changer  mon formulaire de demarrage par defaut lors de l'execution de mon


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales