Überprüfen Sie, ob listbox textbox enthält
Ich weiß, ich könnte .FindString
für diese, aber für einige Grund es nicht funktioniert.
Grundsätzlich,wenn der listbox-Elemente enthält nur einen TEIL der textbox-text,es hat eine Maßnahme.
Hier ist das Beispiel des nicht-arbeiten-code :
Dim x As Integer = -1
x = ListBox1.FindString(TextBox1.Text)
If x > -1 Then
'dont add
ListBox2.Items.Add("String found at " & x.ToString)
Else
End If
- Ich hoffe, dass meine Antwort war deutlich genug: Sie müssen
FindStringExact
stattFindString
zu entsprechen, wird das gesamte Element. Zum Beispiel: wenn die ListBox enthält "test1", "test"; wenn SieFindString
mit "test" (oder "tes" oder "te", etc.) würde es wieder das erste Element. Auf der anderen Seite, wenn SieFindStringExact
auch mit "test", würde es wieder das zweite Element (und nicht finden, alles, was mit "tes", "te", etc.). - Es wird nicht funktionieren, wenn textbox enthält 'foo.txt' listbox enthält 'C:\Users\foo.txt'.(Ich meine beide .findstring und .findstringexact)
- Dies ist, was ich sagte in meiner Antwort: wenn Sie wollen komplexere Funktionalitäten, die Sie hätten, zu interagieren durch jedes element. In diesem Fall würden Sie eine foreach-Schleife über alle Elemente und verwenden
.Contains
für jeden von Ihnen (undExit For
wenn gefunden). Eine foreach-Schleife ist wirklich schnell und sollte nicht beeinträchtigen die Leistung. Beachten Sie, dassFindString
oderfindstringexact
tun genau das (gehen Sie durch alle Elemente). Nächstes mal bitte beschreiben Sie die genauen Bedingungen sind Sie nach und ich kann schreiben Sie einen funktionierenden code liefern die exakten Ergebnisse, die Sie wollen (können tun Sie es jetzt, wenn Sie möchten). - Wenn es kein problem ist.Ich war versucht .EndsWith (String-Liste), aber kein Glück.
InformationsquelleAutor Jedi | 2013-09-28
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
FindString
Methode gibt das erste Element, das beginnt bei der Suche string (MSDN). Wenn Sie möchten, zu entsprechen, wird das gesamte Element, das Sie verwenden würdeFindStringExact
(MSDN). Wenn Sie möchten ausführen komplexer Suchanfragen, die Sie hätte zu iterieren durch alle Elemente in derListBox
.UPDATE:
Code liefert die genaue Funktionalität erwarten, dass durch die OP.
(i + 1).ToString
. Auch möchten Sie vielleicht zu prüfenToLower
im VergleichListBox1.Items(i).ToString.ToLower.Contains(TextBox1.Text.ToLower
), so dass Kappen werden ignoriert.