Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Listare Directory in treeview
Forum - C# / VB.NET - Listare Directory in treeview

Avatar
Dark_Limit (Ex-Member)
Expert


Messaggi: 220
Iscritto: 15/01/2008

Segnala al moderatore
Postato alle 15:34
Sabato, 26/04/2008
Ciao a tutti!
Sto cercando di capire come elencare in una treeview la lista delle directory e files presenti nel disco rigido ( o meglio un'unità) ho provato a cercare anche con google ma senza risultati positivi al riguardo..Qualcuno sarebbe così gentile da elencarmi un modo per fare questo?

Esempio:

C:\=>Nodo principale==>Doppio click ==>Nodi derivati a quello principale(Sottodirectory)

Grazie anticipatamente!!

Ultima modifica effettuata da Dark_Limit il 26/04/2008 alle 15:42
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:27
Domenica, 27/04/2008
Prendi la directory principale, C:\ (o qualche altra unità a seconda dei casi). Usi la funzione IO.Directory.GetDirectories su di essa per ottenere le sottocartelle e IO.Idrectory.GetFiles per ottenere i files ivi contenuti. Quindi aggiungi tanti nodi quante sono cartelle e files.
Ora, ti suggerisco una cosa. NON calcolare prima tutto l'albero gerarchico delle directory, ci metterebbe troppo tempo. Limitati invece a elencare quelle direttamente dipendenti da C: o altre importanti come Documenti e Desktop: ai nodi di queste cartelle associ un dato valore del Tag (ad esempio True, per distinguerle dai nodi-file). Quando ci si fa click sopra, ti ricavi sottodirectory e sottofile e li aggiungi a quel nodo.
In questo modo risparmi memoria e tempo con il massimo guadagno di efficienza.
L'evento da usare mi sembra di "Click": per rintracciare l'elemento cliccato, basta prendere il nodo selezionato (TreeView.SelectedNodes(0)).

PM Quote