Salve, non sono un esperto in vb.net ed ho inziato da poco la programmazione desktop, vorrei realizzare un codice che mi cerca un file in tutte le sottocartelle dell'unità disco dove si esegue il programma, però non riesco a farlo funzionare bene e vorrei che mi cercasse il file inserendo anche solo le iniziali del nome e non l'intero nome... Per adesso trova solo il file se viene inserito l'intero nome.estensione e solo nella directory principale e non nelle sotto directory, non sono riuscito a far ciclare GetFiles("*.*", IO.SearchOption.AllDirectories)

codice:
Private Function TrovaFileNellaCartella(ByVal NomeDelFileDaCercare As String, ByVal PercorsoCartella As String) As String

        Dim res As String = ""
        Dim Cartelle() As String

        Try

            Dim FileContenuti() As IO.FileInfo = New IO.DirectoryInfo(PercorsoCartella).GetFiles()


            For i As Integer = 0 To FileContenuti.Length - 1
                If FileContenuti(i).Name.ToUpper = NomeDelFileDaCercare.ToUpper Then

                    Dim coso As Integer = -1

                    Select Case UCase(FileContenuti(i).Extension)
                        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 .... <- etcetera...
                        Case Else
                            coso = 0
                    End Select

                    If Not coso = 0 Then
                        estensione.Text = FileContenuti(i).Extension
                        ListView2.Items.Add(New ListViewItem(FileContenuti(i).ToString, coso))

                    End If


                    Return FileContenuti(i).FullName

                End If

            Next
            Cartelle = IO.Directory.GetDirectories(PercorsoCartella)
            For i As Integer = 0 To Cartelle.Length - 1
                res = TrovaFileNellaCartella(NomeDelFileDaCercare, Cartelle(i))
                If res <> "" Then
                    Return res
                End If
            Next

            Return res

        Catch

            MsgBox("Cartella protetta o inaccessibile..... Selezionare un altra cartella", MsgBoxStyle.Critical)

        End Try

    End Function
Il pulsante ha questo codice

codice:
    Private Sub buttoncerca_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttoncerca.Click
        Dim nome As String = Application.StartupPath
        Dim letteraunita() As String = nome.Substring(0, 3).Split("\")
        letteraunita(0) = letteraunita(0) + "\"
        TrovaFileNellaCartella(textcerca.Text, letteraunita(0))


    End Sub
Oltre a qui non sono riuscito ad andare viste le mie non molte conoscenze desktop..
QUalk1 può aiutarmi per fare in modo che funge come una normale ricerca di un file ?

Ringrazio anticipatamente