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 - Inserire contenuto di una cartella in una listview
Forum - C# / VB.NET - Inserire contenuto di una cartella in una listview

Avatar
Pinnolo (Normal User)
Rookie


Messaggi: 28
Iscritto: 15/03/2008

Segnala al moderatore
Postato alle 17:24
Domenica, 29/06/2008
Salve a tutti, innanzi tutto vorrei farvi sapere che non sono esperto del linguaggio (sono un apprendista) per cui una qualsiasi domanda che pongo per me è un dilemma, per voi potrebbe essere semplice...... Detto questo vorrei sapere come mediante la pressione di un bottone il programma che sto facendo possa leggere il contenuto di una cartella e aggiungere ogni singolo file (in essa contenuta) in una arraylist ed in una listview.

Grazie in anticipo.... spero di essere stato chiaro

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 20:02
Domenica, 29/06/2008
Crea un listview e un imagelist dove inserisci
delle immagini per i file e le cartelle. Posto il codice in vb.net:

Codice sorgente - presumibilmente VB.NET

  1. Dim ar As New ArrayList
  2.         Dim f() As String
  3.         Dim path As String = "C:\"
  4.         f = IO.Directory.GetFiles(path)
  5.         For Each file As String In f
  6.             ar.Add(file)
  7.         Next
  8.         Dim car As String() = IO.Directory.GetDirectories(path)
  9.         For Each cartella As String In car
  10.             ar.Add(cartella & "&/") 'aggiungo &/ per distinguere le cartelle dai file
  11.         Next
  12.         Dim x, y As Int32
  13.         For x = 0 To ar.ToArray.Length - 1
  14.             ListView1.Items.Add(ar.ToArray()(x).ToString.Split("\")(ar.ToArray()(x).ToString.Split("\").Length - 1)) 'taglia il percorso lasciando solo il nome
  15.         Next
  16.         For y = 0 To ar.ToArray.Length - 1
  17.             If ListView1.Items(y).ToString().Contains("&/") Then ' se contiene &/ essa è una cartella
  18.                 ListView1.Items(y).Text = ListView1.Items(y).Text.Replace("&/", "")
  19.                 ListView1.Items(y).ImageIndex = 0 'immagine per le cartelle
  20.             Else
  21.                 ListView1.Items(y).ImageIndex = 1 'immagine per i file
  22.             End If
  23.         Next



path è il percorso della cartella da visualizzare
ottenuti i file e le cartelle aggiunge &/ alle cartelle e toglie il percorso lasciando solo il nome.
infine assegna un'immagine diversa se si tratta di un file o di una cartella togliendo il &/ dalle cartelle.

PM Quote