Bonjour,
Je me casse à fond la tête sur ma programmation mais je ne sais vraiment plus quoi faire.
J'ai tenter de créer un logiciel qui télécharge une image vers les fichiers temporaires avec ce code dans un module :
My.Computer.Network.DownloadFile("https://i39.servimg.com/u/f39/18/06/99/75/photo-10.jpg", My.Computer.FileSystem.SpecialDirectories.Temp & "\image1.png", False, 500)
puis il le lis dans la form2, dans une PictureBox avec ce code :
Private _Bitmap As Bitmap
Private _BitmapHover As Bitmap
If My.Computer.FileSystem.FileExists(My.Computer.FileSystem.SpecialDirectories.Temp & "\image1.png") Then
_Bitmap = New Bitmap(175, 175)
Using g = Graphics.FromImage(_Bitmap)
g.DrawImage(System.Drawing.Image.FromFile(My.Computer.FileSystem.SpecialDirectories.Temp & "\image1.png"), 0, 0, 175, 175)
End Using
PictureBox1.BackgroundImage = _Bitmap
End If
Mais l'image peut varié, c'est donc pour cela qu'à chaque Button1_click de la form1 j'ai ajouté ce code avant de lancer la form2 :
My.Computer.FileSystem.DeleteFile(My.Computer.FileSystem.SpecialDirectories.Temp & "\image1.png")
Mais le problème c'est qu'une erreur apparaît :
«
Une exception non gérée du type 'System.IO.IOException' s'est produite dans mscorlib.dll
Informations supplémentaires : Le processus ne peut pas accéder au fichier 'C:\Users\Simon\AppData\Local\Temp\image1.png', car il est en cours d'utilisation par un autre processus. »
J'ai donc chercher attentivement sur le net et le seul et unique problème similaire que j'ai trouvé c'est :
http://www.developpez.net/forums/d9138/dotnet/developpement-windows/windows-forms/vb-net-supprimer-fichier-utilise/
Je me suis dis, ça peut le faire si je fais :
Kill(Form2.Picturebox1.backgroundimage)
Mais ça ne fonctionne pas. Du coup je suis vraiment perdu là. Quelqu'un aurait une solution ?
Merci d'avance.
Ah oui je n'ai pas penser à faire une modification pour que le processus "lâche" l’image en question.
Je vais essayer ça je vous tiens au courant.
Merci d'avance :)
Merci d'avance