cudenetf
Messages postés448Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention26 juillet 2012
-
15 sept. 2010 à 09:20
The Meteorologist
Messages postés232Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 3 novembre 2011
-
18 sept. 2010 à 00:14
Bonjour,
je voudrais imprimer un formulaire sur lequel doit se trouver un logo qui se trouve ds un picturebox.
je charge le path du logo a la creation du formulaire form_edit_doc
string path = "LOGOS\\logo.jpg";
if (File.Exists(path))
{
pictureBox1.ImageLocation = path;
//MessageBox.Show("logo");
}
j'ai une class pour imprimer des formulaire que j'appelle a partir du formulaire parent
Form_edit_doc edit = new Form_edit_doc();
edit.Show();
if (force)
{
edit.imprimer();
edit.Dispose();
}
je constate que tout est sur le document sauf la picturebox (enfin l'image) si "force" est a true.
Si je laisse le formulaire s'afficher , je vois le logo apparaitre un petit peu apres l'affichage du reste du formulaire et alors si j'imprime c OK
donc malgrè que le chemin de l'image du picturebox soit défini à la création du formulaire celui ci met un peu de "temps" a la faire apparaitre réellement
...
comment puis je faire pour obtenir l'image directement ?
je voudrais faire edit.show(); edit.imprimer(); a la suite et avoir mon image a l'impression
The Meteorologist
Messages postés232Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 3 novembre 20111 18 sept. 2010 à 00:14
Bonsoir,
if (File.Exists(path))
{
pictureBox1.ImageLocation = path;
//MessageBox.Show("logo");
}
Où as-tu placé ce bout de code ? Veille à ce qu'il soit dans le constructeur du Form et non dans son évènement OnLoad par exemple.
Si le problème vient du fait que l'image n'a pas eu le temps de charger avant que l'impression ne débute (ce qui m'étonnerait, mais possible si ton PictureBox charge le fichier de manière asynchrone) essaie donc de charger au préalable ton image dans une variable Bitmap et d'ensuite la charger dans ton PictureBox.
Essaie également de poser un breakpoint à la ligne :
edit.imprimer();
Pour regarder si picturebox1.Image et instancié à ce moment précis.