VB.Net Renommer un fichier utilisé par un autre processus

Signaler
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
-
Messages postés
3
Date d'inscription
lundi 24 novembre 2003
Statut
Membre
Dernière intervention
26 octobre 2010
-
Bonjour

Je veux renommer un fichier.
J'utilise un listbox et un picturebox.
Je sélectionne un fichier dans le listbox et l'image aparrait dans le picturebox.
Je veux renommer le nom de l'image affiché dans le picturebox mais il est impossible de le mofifier car ca me dit que:
Le processus ne peut pas accéder au fichier, car il est utilisé par un autre processus.

J'ai donc essayé d'utiliser un Dispose à mon picturebox mais ca change rien...
Comment faire pour régler ce problème

merci de votre aide

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

PictureBox1.Dispose()

My.Computer.FileSystem.RenameFile("c:" & ListBox1.SelectedItem, txtNom.Text)
End Sub

2 réponses

Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
Salut,






L'inconvénient
de cette méthode est que tant que le programme est ouvert, le fichier correspondant
sur le disque est utilisé et par conséquence il est impossible de travailler
dessus. (Impossible d'effacer le fichier par exemple!!)








Pour que je puisse manipuler le fichier d'une image qui se trouve dans une picturebox, je procède de cette façon :

Tout d'abord, pensez à ajouter System.IO :




Imports
System.IO














Dim MyStream
As
FileStream = NewFileStream("D:\image.gif",FileMode.Open)






'
On Crée le FileStream sur le fichier image


.gif




 
PictureBox1.Image = Image.FromStream(MyStream)












'
On affecte l'image à pictureBox1









MyStream.Close




' libérer les
ressources


 







File.Delete("D:\image.gif")






' On supprimer le
fichier 


image.gif







' Dans l'exemple, je supprime le fichier mais on peut aussi le renommer










++











N'oubliez pas : Réponse Acceptée  
                        
                
Messages postés
3
Date d'inscription
lundi 24 novembre 2003
Statut
Membre
Dernière intervention
26 octobre 2010

Merci bien pour la solution ^^