[VB]Listbox suche?

07/05/2011 17:03 False#1
heyo,

Also ich habe eine listbox und eine textbox.

inhalt der listbox:

hallo
wie gehts
haha
martin
möp
usw
....

nun möchte ich wenn man in der texbox ha schreibt das nur noch
hallo
und haha
angezeigt werden.
wenn man aber z.b m schreibt das nur noch
martin und möp angezeigt werden.

hoffe ihr könnt mir helfen und habt verstand was ich suche^^
07/05/2011 17:10 Kraizy​#2
Alle Einträge der ListBox rückwärts durchlaufen, wenn der Eintrag nicht die Zeichen der TextBox enthält dann entfernen:
PHP Code:
For As Integer ListBox.Items.Count 1 To 0 Step -1
            
If Not ListBox.Items(i).ToString.Contains(TextBox.TextThen
                ListBox
.Items.RemoveAt(i)
            
End If
        
Next 
Am besten davor alle Items in eine List(Of String) speichern um sie später (wenn in der TextBox z.B. nichts steht) wieder anzuzeigen.
07/05/2011 17:36 False#3
danke hat geklappt :)
12/16/2011 10:59 HackTec#4
Quote:
Originally Posted by xKraizy View Post
Am besten davor alle Items in eine List(Of String) speichern um sie später (wenn in der TextBox z.B. nichts steht) wieder anzuzeigen.

krieg den Schritt mit dem (of string)... nicht ganz hin xD hab nen code er sucht mir auch raus nur wenn die die textbox1 wieder vom inhalt lösche steht da nix mehr oder ggf steht das letze was er gefunden hat noch .....
12/16/2011 15:32 warfley#5
So sollte es gehen

PHP Code:
    Dim OrigiList As List(Of String)
    Private 
Sub MeineForm_Shown(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Shown
        OrigiList 
= New List(Of String)
        For 
As Integer 0 To LBox.Items.Count 1
            OrigiList
.Add(LBox.Items(i))
        
Next
    End Sub

//TextBox Change Sub
        
Dim NList As List(Of String) = New List(Of String)
        If 
CaseInsentive Then
            
For As Integer 0 To OrigiList.Count 1
                
'If OrigiList(i).Contains(DirectCast(sender, TextBox).Text) Then   '//Wenn mit Suchtext Starten Soll
                
If OrigiList(i).Contains(DirectCast(senderTextBox).TextThen   '// Wenn Suchtext irgendwo enthalten sein soll
                    NList.Add(OrigiList(i))
                End If
            Next
        Else
            For i As Integer = 0 To OrigiList.Count - 1
                '
If OrigiList(i).ToUpper.Contains(DirectCast(senderTextBox).Text.ToUpperThen   '//Wenn mit Suchtext Starten Soll
                If OrigiList(i).ToUpper.Contains(DirectCast(sender, TextBox).Text.ToUpper) Then   '
// Wenn Suchtext irgendwo enthalten sein soll
                    
NList.Add(OrigiList(i))
                
End If
            
Next
        End 
If

        
LBox.BeginUpdate()
        
LBox.Items.Clear()
        For 
As Integer 0 To NList.Count 1
            LBox
.Items.Add(NList(i))
        
Next
        LBox
.EndUpdate()