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.
A voir également:

7 réponses

cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
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