VB.NET - problème de string

Fermé
Chico95 - Modifié par Chico95 le 5/11/2010 à 11:12
 chico95 - 19 nov. 2010 à 09:08
Bonjour a tous,

Voila, j'ai un problème en vb.net avec les string et OpenFileDialog.

En Faite j'ai crée une collection(Liste) de classe contenant plusieurs string dans le constructeur, et quand je quitte l'appli, j'enregistre toutes les données de ma collection dans un document XML(Sérialisation)

Jusque là, je n'ai pas de soucis particulier. Je fais un Dim Liste as new List(of Class)

Pour résumer, ma classe contient : Le Nom | Le Chemin
Donc ma collection va contenir une liste de nom et de chemin

(Chemin = Chemin D'image)


Mon problème :

Je demande à l'utilisateur d'entrer une image via un OpenFileDialog (explorateur de disque dur). L'utilisateur choisit l'image et je récupère le chemin via : OpenFileDialog.FileName


Or quand j'insère le nom du chemin dans ma collection tout se passe normalement, mais quand je l'enregistre dans mon doc. XML, le chemin est inconnu, seul le nom s'insère correctement, et je ne trouve pas pourquoi.

J'ai donc fais plusieurs test, et je me suis dis que ça devait être un problème de type car quand je rentre le chemin à la main, il l'enregistre correctement.

Pourquoi OpenFileDialog.FileName n'est-il pas reconnu comme un string ?

Voila mon code :

Dim Chemin as New OpenFileDialog 
Dim MonFichier as string 

Chemin.ShowDialog() 
MonFichier = Chemin.FileName 

if MonFichier IsNot Nothing then 
        Me.txt_chemin.Text = MonFichier 
EndIf



Merci !!


27 réponses

Karosis Messages postés 13 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 18 novembre 2010
10 nov. 2010 à 14:10
ça marche que si tu met le chemin manuellement (ex :
@"C:\test.jpg"
)

A mon avis le problème doit venir de la manière dont tu rentre le chemin dans ton objet car en mettant l'objet dans la liste, à moins que tu ais y fasse une modif à ce moment, tu n'y touche pas.

Execute le en pas à pas au moment de la création ton objet "Contact" et je pense que tu devrais y voir un changement dans le chemin.

Si c'est le cas montre moi le code.
0
désolé de cette réponse très tardive, je n'avais plus vraiment le temps.

Je vais exécuter en pas en pas pour voir, et je te dirai si je vois une modif de l'objet.
0
j'ai décidé de me retaper le code dans un nouveau projet avec un code plus propre, et ne me demande pas pourquoi, mais ça marche !!!!!

Merci beaucoup pour ton aide karosis, j'ai appris pas mal de truc !
0
Karosis Messages postés 13 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 18 novembre 2010
17 nov. 2010 à 16:20
Des fois un petit morceau de code behind, auquel tu ne fais pas attention, reste après plusieurs manip et fait que cela ne marche plus aussi bien.
ça m'est arrivé pas plus tard que la semaine dernière sur entity framework.

Ce fût un plaisir de t'aider, et si en plus je t'ai appris quelque truc j'en suis encore plus content.

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Arf j'ai un autre petit soucis, beaucoup moins grave, c'est juste un problème de design, mais je ne trouve pas.

J'aimerais colorer une listbox 1 ligne sur 2.

L'item 1 en gris, le 2è en blanc, le 3è en gris, le 4è en blanc...etc

J'ai trouver des codes sur le net mais ils sont juste énorme !

il existe pas une propriété du genre item.color ?
0
Karosis Messages postés 13 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 18 novembre 2010
18 nov. 2010 à 15:10
Désolé mais cette propriété n'existe pas dans la ListBox.

Dans le DataGrid tu as la propriété "AlternatingRowBackground" à laquelle tu passe la couleur alternative que tu souhaite (la seconde étant le Background de ton DataGrid).

Mais dans une ListBox il faut le coder toi-même. Sinon utilise un DataGrid.

J'ai trouvé un code relativement pas trop lourd pour alterné la couleur des ligne d'une ListBox : https://blog.pixelingene.com/?p=91

Bon courage.
0
Merci beaucoup, je ne connaissais pas datagridview, et je suppose que c'est à peu près pareil qu'une listebox.

Je vais voir ce que je peux faire !
0

Discussions similaires