Grazie ragazzi...... Ecco il codice ottimizzato per quanto ho potuto inquando non sono un esperto di .net...

codice:
    Public Sub ProcessDir(ByVal Dir As String)
        Dim splitta() As String
        Dim i As Integer
        Dim testodacercare As String
        Dim estensionefile As String = ""
        Dim coso As Integer = -1
        Dim verifica As Integer = 0
        Dim nomefilesplittato As String = ""
        Dim estensione As Object
        Dim stringa As String


        ' 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
            Dim fileEntries As String() = Directory.GetFiles(Dir)

            'Converte tutto il testo da cercare in minuscolo + toglie gli spazi iniziali o finali
            testodacercare = Trim(LCase(textcerca.Text))

            For Each fileName As String In fileEntries

                'Converte tutto il nome del file in minuscolo + toglie gli spazi iniziali o finali
                stringa = Trim(LCase(fileName))



                'Splitta il percorso completo lasciando solo il nome del file
                splitta = Split(stringa, "\")

                'Inizio ciclo per splittare
                For i = 0 To UBound(splitta)
                    splitta(i) = splitta(i)
                Next

                'Prendi l'ultimo indice dell'array splitta e passa il valore nella variabile
                nomefilesplittato = splitta(UBound(splitta))

                'Splitta il nome del file togliendo i punti per risalire all'estensione
                estensione = Split(nomefilesplittato, ".")

                'Inizio ciclo per splittare
                For i = 0 To UBound(estensione)
                    estensione(i) = estensione(i)
                Next

                'Prendi l'ultimo indice dell'array estensionefile e passa il valore nella variabile
                estensionefile = estensione(UBound(estensione))
                'trovata l'estensione aggiungiamo il punto per il riconoscimento dell'estensione del file
                estensionefile = "." & estensionefile

                ' contralla l'estensione del file e applica un icona
                Select Case UCase(estensionefile)
                    Case ".AVI"
                        coso = 1
                    Case ".MKV"
                        coso = 2
                    Case ".MPG"
                        coso = 4
                    Case ".TS"
                        coso = 5
                    Case ".DIVX"
                        coso = 6
                    Case ".MPEG"
                        coso = 4
                    Case ".WMV"
                        coso = 7
                    Case ".VOB"
                        coso = 8
                    Case ".MP4"
                        coso = 9
                    Case ".MOV"
                        coso = 9
                    Case ".Mp4"
                        coso = 9
                    Case ".MPA"
                        coso = 9
                    Case ".MP2"
                        coso = 9
                    Case ".MOV"
                        coso = 9
                    Case ".MKA"
                        coso = 2
                    Case ".MOV"
                        coso = 9
                    Case ".IFO"
                        coso = 6
                    Case Else
                        coso = 0
                End Select

                ' Controlla se è stato trovato almeno un file e se l'icona non è uguale a 0 e lo aggiunge alla listView
                If ((nomefilesplittato.IndexOf(testodacercare) <> -1) And Not (coso = 0)) Then
                    ListView2.Enabled = True
                    ListView2.Items.Add(New ListViewItem(fileName.ToString, coso))
                    ' Aggiorna ListView
                    ListView2.Refresh()
                    ProgressBar1.Value = 0
                End If

            Next


            




            ' Processa tutte le directory trovate nella directory passata alla funzione


            Dim subdirectoryEntries As String() = Directory.GetDirectories(Dir)
            For Each subdirectory As String In subdirectoryEntries

                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
Spero che questo mio lavoro possa servire a qualk1 per velocizzare i tempi nella creazione di un codice di ricerca per file...
E se qualk1 ha un suggerimento per migliorare tale codice lo posti pure...
Ciao a tutti...