Grazie per i vostri consigli.... Mi son messo sotto per ottimizzare il codice ancor di più ed ho seguito i vostri consigli!!
Dovete considerare che ho iniziato vb.net da una settimana....
codice:
Public Sub ProcessDir(ByVal Dir As String)
Dim coso As Integer = -1
' Aumenta ad ogni ciclo di funzione la ProgressBar
ProgressBar1.Value = ProgressBar1.Value + 10
'Azzera la ProgressBar
If ProgressBar1.Value = 10000 Then ProgressBar1.Value = 0
' Processa la lista dei files trovati nella directory passata
Try 'Controllo di errori
For Each fileName As String In Directory.GetFiles(Dir)
' Controlla se è stato trovato almeno un file e se l'icona non è uguale a 0 e lo aggiunge alla listView
If ((System.IO.Path.GetFileNameWithoutExtension(fileName).ToLower().IndexOf(textcerca.Text.Trim().ToLower()) <> -1)) Then
' contralla l'estensione del file e applica un icona
Select Case System.IO.Path.GetExtension(fileName).ToUpper()
Case ".AVI"
coso = 1
Case ".MKV", ".MKA"
coso = 2
Case ".MP4", ".MOV", ".MPA", ".MP2"
coso = 9
Case ".MPG", ".MPEG"
coso = 4
Case ".DIVX", ".IFO"
coso = 6
Case ".WMV"
coso = 7
Case ".VOB"
coso = 8
Case ".TS"
coso = 5
Case Else
coso = 0
End Select
If Not (coso = 0) Then
ListView2.Enabled = True
ListView2.Items.Add(New ListViewItem(fileName.ToString, coso))
' Aggiorna ListView
ListView2.Refresh()
ProgressBar1.Value = 0
End If
End If
Next
' Processa tutte le directory trovate nella directory passata alla funzione
For Each subdirectory As String In Directory.GetDirectories(Dir)
ProcessDir(subdirectory)
Next
' Se trova un errore saltalo e continua il processo e azzera la ProgressBar
Catch ex As Exception
ProgressBar1.Value = 0
End Try
End Sub