[VB.Net] Problème de répertoires de travail

Résolu
moimael Messages postés 23 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 27 août 2010 - 13 févr. 2007 à 20:04
moimael Messages postés 23 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 27 août 2010 - 13 févr. 2007 à 23:08
Salut à tous,  
 
Voila je travaille sur une petit
application(déjà disponible au téléchargement) de gestion du Twin (un
tel portable) et je viens de m'apercevoir d'un bug plutôt très gênant.

 
En effet, mon appli propose une gestion des images. Lorsque
je charge une image par le contrôle openfiledialog, son nom s'affiche
dans une listbox et on peut la visualiser dans une picturebox.

 
Le problème est que, quand je charge une image qui provient
d'un dossier différent de la précédente image, j'ai le droit à un
superbe message d'erreur m'indiquant que mon image ne peut pas être
trouvée.  
Cela vient du fait qu'il recherche mon image dans le
dossier de la dernière image ouverte et non dans le dossier ou celle ci
se trouve.

 
J'espère que mon explication sera compréhensible.

 
J'ai essayé énormément de chose avant de poster sur le forum, comme les setcurrentdirectory et autre mais rien n'y fait.

 
En espérant que vous puissiez m'aider, merci.

La partie du code qui pose pb :
Dim image1 As Image
 image1 = Image.FromFile(Path.GetFullPath(ListBox1.SelectedItem))
A voir également:

2 réponses

Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
13 févr. 2007 à 20:45
Salut,
J'imagine que la listbox ne contient donc pas le chemin complet du fichier.
Pas de solutions miracles, il faut l'enregistrer quelque part...
Je te propose d'enregistrer les chemins de tes fichiers dans une liste de strings, et de n'utiliser la ListBox uniquement comme sortie (tu n'ira pas y lire d'informations, ci ce n'est l'index de l'élément sélectionné).
Donc :

'En global :
Dim Paths as New List(Of String)

'Là où tu ajoute une imageIf Not OpenFileDialog.ShowDialog() Windows.Forms.DialogResult.Cancel Then
   Paths.Add(OpenFileDialog.Filename)
   ListBox1.Items.Add(System.IO.Path.GetFileName(OpenFileDialog.Filename))
End If

'Ensuite pour charger l'image, il te suffit de faire
Dim image1 As Image
 image1 = Image.FromFile(Paths(ListBox1.SelectedIndex))

Voilà !
<hr size="2" width="100%" />Julien.
3
moimael Messages postés 23 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 27 août 2010
13 févr. 2007 à 23:08
Merci bcp de ta réponse, ca fonctionne parfaitement. Je savais bienqu'il fallait les stocker qq part ces chemins, j'avais essayer dans des fichiers textes mais la solutions était trop lourde et contraignante. Merci pour ton aide.
0
Rejoignez-nous