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