Ciao, ma possiamo semplificare e controllare meglio ciò che viene impostato come filtro
Esempio impostando il filtro = st* (tutti quelli che iniziano con st) :
' Retrieve fileinfo
Dim file_presenti As FileInfo() = (New DirectoryInfo("C:\YourFolder\")).GetFiles()
' List clear
frmPrincipale.lstPrincipale.Items.Clear()
' Set filter
Dim filtro As String = "st*"
' Check and filter normalize
Dim regexPattern As String = "^" & Regex.Escape(filtro).Replace("\*", ".*").Replace("\?", ".") & "$"
' Load files and apply filter
For Each file In file_presenti
If Regex.IsMatch(file.Name, regexPattern, RegexOptions.IgnoreCase) Then
frmPrincipale.lstPrincipale.Items.Add(file.Name)
End If
Next
Se ti occorre, questo metodo ti consente anche di utilizzare/abbinare il carattere jolly "?" per realizzare i tuoi filtri.
Infine, se e quando necessario, farai il tuo refresh frmPrincipale.lstPrincipale.Refresh() - (non ripeterlo tutte le volte ad ogni Items.Add)