2012-07-10 3 views
1

est là de toute façon où au lieu de saisir l'URL de ce contrôle de cette façon "C: /Users/etc/etc/file.txt" et le récupérer dans "~/temp/file.txt" .OpenFileDialog VB.net 2010

Si oui, pourriez-vous m'aider? J'ai travaillé si dur pour essayer de trouver un moyen sur google et je n'ai rien trouvé qui puisse m'aider.

Merci d'avance.

+0

Pouvez-vous expliquer mieux ce que vous essayez faire? Saisis quoi? Un exemple de ce qui ne fonctionne pas serait utile. – Steve

+0

Je veux dire, je veux saisir la direction d'un fichier spécifique, mais il l'obtient de cette façon: C: /User/etc/etc/file.txt Je n'en ai pas besoin de cette façon, je Il a besoin de cette façon ~/etc/etc/file.txt –

+0

Et en fait cela fonctionne avec le chemin complet (C: /etc/etc/etc/file.txt) mais j'en ai besoin comme je l'ai dit (~ /etc/etc/file.txt) –

Répondre

1

OpenFileDialog propriété FileName renvoie le chemin complet du fichier sélectionné (à partir MSDN)

Pour obtenir seulement une partie de ce fullpath vous pouvez utiliser les méthodes de la Path class.
Par exemple (en supposant selectedPath que le retour de OpenFileDialog.FileName):

Dim selectedPath As string = "C:\Users\etc\etc\file.txt" 
Dim dirPart as String() = selectedPath.Split("\") 
Dim idx As Integer = dirPart.Length 
Dim lastPart = Path.Combine("~", dirPart(idx-3), dirPart(idx-2), dirPart(idx-1)) 
Console.WriteLine(lastPart) 

Bien sûr, vous devez être sûr que vous obtenez au moins 3 parties de votre selectedPath