Salut
Voilà, je n'arrive pas à supprimer une image .jpg d'un dossier à partir de mon code.

J'ai déjà cherché, je suis tombé sur beaucoup de post de personnes avec le même problème, qui arrivait à le résoudre. Donc chouette, j'essai les solutions, et bizarrement, chez moi ça ne marche pas...

Donc j'espère que vous allez pouvoir m'aider. J'ajoute que je suis sous Windows Seven.

Donc je crée des PictureBox dynamiquement dans mon code comme celà:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
for (int k = 0; k < nbRecord; k++)
{
    //Creation de la pictureBox
    PictureBox Pbox = new PictureBox();
    Pbox.Name = "Thumbnail"+k;
    Pbox.Size = new Size(120, 90);
    Pbox.Location = new Point(0,0);
    Pbox.Image = Image.FromFile(URL);
    Pbox.Cursor = Cursors.Hand;
    Pbox.Click += new EventHandler(Thumbnail_X_Click);
    panel.Controls.Add(Pbox);
}
Et donc quand je cherche a supprimer une image, j'ai l'erreur

The process cannot access the file because it is being used by another process.
Et donc les solutions sur internet que j'ai trouvé parlaient de libérer le fichier du processus qui l'utilise avec les méthodes dispose.
J'ai donc écrit pour effacer mon image:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
FileStream monImage = new FileStream(URL, FileMode.Open);
maPictureBox.Image = Image.FromStream(monImage);
monImage.Dispose();
monImage.Close();
File.Delete(URL);
Cette solution avait l'air de marcher.
Sinon j'ai essayé celle là plus simple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
maPictureBox.image.Dispose();
File.Delete(URL);
Mais aucune ne marche. Si vous avez des solutions, merci d'avance!