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