Ü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 statt FindString zu entsprechen, wird das gesamte Element. Zum Beispiel: wenn die ListBox enthält "test1", "test"; wenn Sie FindString mit "test" (oder "tes" oder "te", etc.) würde es wieder das erste Element. Auf der anderen Seite, wenn Sie FindStringExact 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 (und Exit For wenn gefunden). Eine foreach-Schleife ist wirklich schnell und sollte nicht beeinträchtigen die Leistung. Beachten Sie, dass FindString oder findstringexact 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