Guten Morgen liebe VBP-Com,
ich habe aktuell folgendes problem:
ich habe eine Combobox mit werten gefüllt(strings), nun will ich aber dass wenn man im combobox feld was eingibt, und dann alles was mit der eingabe anfängt rausfilter und als auswahl setzt. Sobald die eingabe gelöscht wird sollen wieder alle werte angezeigt werden.
Hier mal der Vorgehende code:
und hier mein aktueller ansatz der nicht so klappt da er mir wenn ich die item clearen will immer ne exeption schmeißt, darum mal ohne clealer:
ich hoffe wir können zusammen einen ansatz finden, der mein problem lösen wird.
LG
LC
ich habe aktuell folgendes problem:
ich habe eine Combobox mit werten gefüllt(strings), nun will ich aber dass wenn man im combobox feld was eingibt, und dann alles was mit der eingabe anfängt rausfilter und als auswahl setzt. Sobald die eingabe gelöscht wird sollen wieder alle werte angezeigt werden.
Hier mal der Vorgehende code:
VB.NET-Quellcode
- Private _Directories As New List(Of String)
- Private _Drives As DriveInfo()
- Private _Filter As New List(Of String)
- Private Sub dlgDirectorySelect_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- _Drives = DriveInfo.GetDrives.Where(Function(dri) dri.IsReady).ToArray
- For Each dri In _Drives
- For Each di In dri.RootDirectory.EnumerateDirectories
- If AcceptDir(di, "$R", "Boot") Then _Directories.Add(di.FullName)
- Next
- Next
- cb_output.DataSource = _Directories
- End Sub
- Private Function AcceptDir(di As DirectoryInfo, ParamArray rejectPatterns() As String) As Boolean
- For Each pat In rejectPatterns
- If _Drives.Any(Function(dri) di.FullName.StartsWith(dri.RootDirectory.FullName & pat)) Then Return False
- Next
- Return True
- End Function
und hier mein aktueller ansatz der nicht so klappt da er mir wenn ich die item clearen will immer ne exeption schmeißt, darum mal ohne clealer:
VB.NET-Quellcode
- Private Sub cb_output_TextChanged(sender As Object, e As EventArgs) Handles cb_output.TextChanged
- Dim filter As String
- filter = cb_output.Text
- For i As Integer = 0 To _Directories.Count - 1
- If _Directories(i).StartsWith(filter) Then
- _Filter.Add(_Directories(i))
- End If
- Next
- cb_output.DataSource = _Filter
- End Sub
ich hoffe wir können zusammen einen ansatz finden, der mein problem lösen wird.
LG
LC