Imprimer une winform

cs_yoyo48 Messages postés 8 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 17 juin 2004 - 10 mai 2004 à 10:25
yohbrousse Messages postés 3 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 15 avril 2005 - 27 avril 2005 à 11:26
Je code en c# et je cherche des informations pour imprimer une form telle qu'elle apparait a l'écran aidez moi s'il vous plait... merci d'avance.

7 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
10 mai 2004 à 11:21
directement je ne sais pas si c'ets possible
par contre tu pourrais recupérer une image, capture d'ecran du form via les api win, et ensuite l'imprimer
il y a des sources pour la capture d'ecran ici, notamment pour le bureau, reste juste a adapter le code pour n'avoir que le form désiré

Cocoricoooooooo !!!!
0
238723 Messages postés 15 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 9 décembre 2004
18 mai 2004 à 11:45
Essai ça:

[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern long BitBlt (IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
private Bitmap memoryImage;
private void CaptureScreen()
{
Graphics mygraphics = this.CreateGraphics();
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, mygraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
IntPtr dc1 = mygraphics.GetHdc();
IntPtr dc2 = memoryGraphics.GetHdc();
BitBlt(dc2, 50, 50, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 50, 50, 13369376);
mygraphics.ReleaseHdc(dc1);
memoryGraphics.ReleaseHdc(dc2);
}

private void button1_Click(object sender, System.EventArgs e)
{
PrintDialog printDialog1 = new PrintDialog();
printDialog1.Document = printDocument1;
DialogResult result = printDialog1.ShowDialog();
if (result == DialogResult.OK)
{
CaptureScreen();
printDocument1.Print();
}
}

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 50, 50);
}

normalement ça marche
0
cs_yoyo48 Messages postés 8 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 17 juin 2004
18 mai 2004 à 20:31
J'ai essayé ce que tu ma dis tout marche ca imprime mais le hic c'est que la page sort entièrement blanche merci de m'aider a plus yo
0
238723 Messages postés 15 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 9 décembre 2004
19 mai 2004 à 11:31
J'ai réssayé et ça marche mais ne pas oublier de mettre :
propriété document de PrintDialod1-->printDocument1
et l'évenement PrintPage de printDocument1 --> printDocument1_PrintPage
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Arkhorail Messages postés 4 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 3 juin 2004
3 juin 2004 à 18:42
Salut !
Ben moi j'ai réussi à imprimer mais alors y a comme un ou deux petits problèmes :/
Apparement la capture d'écran est faite alors que le printDialog est toujours la, et ça n'imprime pas tout !
En gros j'ai que les 3/4 de mon form :)
Pas formidable quoi ...
Je vais essayer en touchants aux coordonnées qui sont fixées à 50, mais j'espère une petite aide pasque l'encre elle part vite :)
0
dionysos6868 Messages postés 310 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 9 juin 2005 1
8 sept. 2004 à 16:27
as tu reussis ton truc ????

Dionysos

www.hackeinfo.net
0
yohbrousse Messages postés 3 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 15 avril 2005
27 avril 2005 à 11:26
lorsque j'essaie de mettre printDocument1 en parametre "document"
dePrintDialog1, sharpdevelop refuse de prendre quoi que ce soit et
maintient "none" en"document".



doncje peux rien faire puisqu'il reconnait pas printdocument1.
0
Rejoignez-nous