Elenco file di una cartella in una LISTBOX O LISTVIEW

sabato 17 gennaio 2009 - 18.49

giobaxx Profilo | Junior Member

esiste un modo semplice per caricare i file che sono in una cartella dentro una listbox??
eseguendo questo comando mi viene fuori il path completo;
listBox1.Items.AddRange(System.IO.Directory.GetFiles("C:\\"));

io vorrei solo i nomi dei file

Jeremy Profilo | Guru

Ci potrebbero essere più soluzioni.....a mio avviso, quella migliore, è usare la classe FileSystemObject che contiene una funziona apposita per ottenere solo il nome del file.....poi, di accrocchi, ce ne sono tanti altri.

Se ti serve ti posto un esempio....ma preferirei prima che guardassi un pò di documentazione in merito.
Basta cercare, appunto, FileSystemObject....l'utilizzo è abbastanza semplice

Ciao

freeteo Profilo | Guru

Ciao,
il modo più semplice è usare la proprietà DataSource dei controlli passandogli una collection di oggetti e cosa visualizzare lo puoi scegliere impostando le proprietà "DisplayMember" e "ValueMember".

Un esempio:
DirectoryInfo dir = new DirectoryInfo("...."); listBox1.DataSource = dir.GetFiles(); listBox1.DisplayMember = "Name"; listBox1.ValueMember = "FullName";

come vedi uso una classe "DirectoryInfo" la quale con il metodo "GetFiles()" mi torna una collection di FileInfo ossia oggetti con tutte le proprietà del file, e non solo il path come nella classe "Directory" classica.
Poi come ti dicevo con il datasource e le proprietà visualizzi quello che vuoi...

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

giobaxx Profilo | Junior Member

GRASSIE!!!SEI UN MITO

alexmed Profilo | Guru

Ciao
C'è anche un modo per filtrare il file da visualizzare? Ad esempio solo i jpg

Ciao
alexmed

TROVATO!!

dir.GetFileSystemInfos("*.jpg")

Ciao

freeteo Profilo | Guru

Ciao,
si come vedi c'è proprio un overload che ti permette di impostare un filtro, ma solo uno.

Se ne vuoi di più devi fare un codice come questo spiegato qui:
http://blogs.dotnethell.it/freeteo/Lista-dei-file-su-disco-filtrando-per-piu-estensioni__11134.aspx


Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

alexmed Profilo | Guru

Ottimo!
Per caricare ad esempio tutti i file immagine di una cartella.

Tra l'altro, non lo sapevo, funziona anche in Esplora risorse quando fai Cerca.
alexmed

giobaxx Profilo | Junior Member

...ho provato a filtrare i jpg ma non mi filtra i jpg......mi dici dove cappello????

DirectoryInfo dir = new DirectoryInfo("c:\\");
dir.GetFileSystemInfos("*.jpg");
listBox1.DataSource = dir.GetFiles();
listBox1.DisplayMember = "Name";
listBox1.ValueMember = "FullName";


ps: visto che sto facendo tutto senza un manuale, potreste consigliarmi un libro....non troppo avanzato, per il visual c# (possibilmente 2008)....perchè io o li trovo o inutili...i soliti programmetti di esempio e poi quando inizi a fare le cose un pò più serie....e questo come si fa?..quest'altro?..informazioni zero..o troppo complicati per il livello a cui sono io....
ho un libro di C#...in cui spiega abbastanza bene i concetti base in modo abbastanza completo......e nè vorrei più spinto verso la creazione di applicazioni windows...quindi spiegazioni di accesso ai dati e/o gestione eventi.....etc....


OK CAPITO LA CAPPELLA.....

freeteo Profilo | Guru

>OK CAPITO LA CAPPELLA.....


Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5