Je suis bien d'accord avec toi, à aucun moment je met un "printDialog...".
Voici-dessous la fenêtre dont je parle :
Je me demande si mon problème ne vient pas du fait, qu'il n'y a pas le nombre exacte de document d'inscrit c'est à dire qu'il y ai juste écrit "Page 1 sur document" alors que je pense qu'il devrait y être écrit "Page 1 sur 1 document".
loicDu28 dit : Je me demande si mon problème ne vient pas du fait, qu'il n'y a pas le nombre exacte de document d'inscrit c'est à dire qu'il y ai juste écrit "Page 1 sur document" alors que je pense qu'il devrait y être écrit "Page 1 sur 1 document".
lol
Désolé, mais c'est ptèt très clair pour toi, mais pour moi qui ne suit pas plongé dans ton programme, c'est du charabia
Pour les images, il faut mettre l'image sur un ftp et avoir un lien en http://mondomaine/<pleins de trucs comme on veut>/<nom de l'image>
Mettre un banal C:\image.bmp ne nous permet pas de voir ton image (ben oui, à quel moment vas tu la mettre sur internet sinon ?).
__________________________
Sujet résolu ? Pensez à mettre le tag
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.
Ah!! désolé je savais pas comment on devais faire pour la photos.
Donc je te la renvoie :
Ben en faite, la fenêtre que je viens de t'envoyer est afficher lors de l'impression, même sur la feuille qui sort de l'imprimante alors que moi je souhaiterais ne pas l'avoir sur la feuille qui sort de l'imprimante. Suis-je clair??
Donc je comprend pas pourquoi cette fenêtre est là et donc je sais pas comment faire pour la retirer?? Tu me suis toujours??
OK, je vois d'où viens le problème. C'est assez simple si on regarde un peu comment fonctionne le code.
private void pd_PrintPage(object sender, PrintPageEventArgs e)
{
PBWindow.Visible = true;
PBScreen.Visible = true;
// Là c'est comme si tu fais un dessin normal
Graphics dc = e.Graphics;
// tu fait ton dessin sur le support dc (c'est là que tu peux dessiner ton entête entreprise puis ajouter le contenu de la Form).
Bitmap screen;
Bitmap window;
// simuler l'appui de la touche PrintScreen
SendKeys.SendWait("{PRTSC}");
// récupérer l'image obtenue dans le Presse-Papier
window = ((Bitmap)(Clipboard.GetDataObject().GetData("Bitmap")));
// attribuer l'image à PBWindow
PBWindow.Image = window;
// simuler le PrintScreen enrichi
SendKeys.SendWait("+{PRTSC}");
// récupérer l'image obtenue dans le Presse-Papier
screen = ((Bitmap)(Clipboard.GetDataObject().GetData("Bitmap")));
// attribuer l'image à PBScreen
PBScreen.Image = screen;
dc = Graphics.FromImage(PBScreen.Image);
dc = Graphics.FromImage(PBWindow.Image);
e.Graphics.DrawImage(PBScreen.Image, new PointF(50, 50));
// Test s'il n'y a plus aucune page à imprimer
if ( dc == null )
e.HasMorePages = true;
else
e.HasMorePages = false;
}
private void FenetreImpression_Load(object sender, System.EventArgs e)
{
PrintDocument pd = new PrintDocument();
// évènement déclenché juste avant l'impression pour obtenir un dessin
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
// lancement de l'impression
pd.Print();
}
Lorsque tu lances ton impression, c'est alors à ce moment là (et seulement à ce moment là) que la méthode pd_PrintPage est appelé. Cette méthode fait des impressions écran. Or, lorsque tu lances l'impression, ta petite boite, dont tu aimerais bien te débarrasser vient d'apparaitre. Vu que ta façon d'imprimer consiste à faire des impressions écrans, c'est donc normal que tu imprime cette boite là aussi.
Ce qu'il faut faire ? Exactement la même chose que dans ta méthode pd_PrintPage mais dans une autre méthode, une qui ne soit pas un évènement et qui soit obligatoirement appellée avant le fameux pd.Print();.
Très rapidement :
private void FenetreImpression_Load(object sender, System.EventArgs e)
{
PrintDocument pd = new PrintDocument();
//Création des Bitmap
maMéthodeACréer();
// évènement déclenché juste avant l'impression pour obtenir un dessin
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
/* Où ici, la méthode pd_PrintPage ne fait que le e.Graphics.DrawImage et ce qui s'en suit... */
/* Les images créées dans maMéthodeACréer() doivent donc être des membres de ta classe (et pas des variables locales à la méthode */
// lancement de l'impression
pd.Print();
}
Compris ?
__________________________
Sujet résolu ? Pensez à mettre le tag
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.
tu es trop fort!! j'avais même pas remarqué que c'étais ça le problème alors qu'en faite c'étais tout con!!LOL.
Mais c'est normal que dans la tite boîte de dialogue("Imprimer") j'ai juste d'écrit "Page 1 sur document"??(plus précisément, il me manque pas un numéro aprés le "sur"??)