2011-09-01 3 views
0
string[] klasorlistesi = Directory.GetFiles(path+"//notlar//"); 
foreach (string eleman in klasorlistesi) 
    listBox1.Items.Add(eleman); 

Je reçois les données d'un tableau avec le code ci-dessus dans listBox.
BTW le fichier n'a pas d'extension.Obtention de noms de fichiers à partir d'un répertoire

Ma question est:
Je veux apparaître le fichier comme seul "not" au lieu de "C:\Users\Documents\Visual Studio 2008\not" à l'intérieur du Listbox.

Aussi, j'ai essayé une chose comme ci-dessous le code, mais il ne fonctionne pas:

System.IO.Path.GetFileName(@"C:\Users\Documents\Visual Studio 2008\not"); 

Comment puis-je faire cela?

+0

que cela existe répertoire? –

+2

"Ça ne marche pas" n'est pas une bonne description de ce qui se passe réellement. –

+0

où est-ce appelé? –

Répondre

0

Vous pouvez utiliser quelque chose comme

listbox1.Items.Add(eleman.Substring(eleman.LastIndexOf('\\') + 1); 
+0

pas tout à fait - vous obtiendrez le \ dans là ...: P – Carsten

2

Essayez de changer votre dernière ligne:

listBox1.Items.Add(new FileInfo(eleman).Name); 

devrait faire l'affaire.

Une autre option que vous pouvez faire est de l'extraire vous-même comme ceci, mais cela semble un peu plus compliqué. Probablement un peu plus vite, mais dans votre cas, vous ne devriez pas remarquer.

listBox1.Items.Add(eleman.Substring(eleman.LastIndexOf('\\') + 1)); 
+0

Je pense que c'est "le meilleur moyen" que le mien, mais il peut être lent, car il lit toutes les informations du fichier à partir du disque ... – ChrFin

+0

le vôtre ne fonctionnera pas comme vous l'avez :) – Carsten

+0

CKoenig - Care to elaborate ? –

0

Avez-vous essayé

string s = Path.GetFileNameWithoutExtension(@"C:\Users\Documents\Visual Studio 2008\not"); 

Résultat ne

Questions connexes