Picture box pas imprimé

cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 15 sept. 2010 à 09:20
The Meteorologist Messages postés 232 Date d'inscription jeudi 18 janvier 2007 Statut Membre Derniè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

Merci

1 réponse

The Meteorologist Messages postés 232 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 3 novembre 2011 1
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.

Voilà je ne peux pas t'aider plus ...

Simon
0
Rejoignez-nous