.FindString
을 사용할 수 있지만 어떤 이유로 작동하지 않습니다.목록 상자에 텍스트 상자가 포함되어 있는지 확인하십시오.
기본적으로 목록 상자 항목에 텍스트 상자 텍스트 부분 만 있으면 작업을 수행합니다.
다음은하지 않은 작업 코드의 예입니다 :
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
내 대답이 충분히 명확했으면 좋겠어. 전체 항목을 일치시키기 위해 FindString 대신 FindStringExact를 사용해야합니다. 예를 들어, ListBox에 "test1", "test"가 포함 된 경우; "test"(또는 "tes"또는 "te"등)와 함께 FindString을 사용하면 첫 번째 항목을 반환합니다. 반면에 "test"와 함께'FindStringExact'를 사용하면 두 번째 항목을 반환합니다 ("tes", "te"등으로는 아무 것도 찾을 수 없습니다). – varocarbas
@varocarbas 텍스트 상자에 'foo.txt'가 들어 있고 목록 상자에 'C : \ Users \ foo.txt'가 포함되어 있으면 작동하지 않습니다. (.findstring과 .findstringexact를 모두 의미합니다.) – Jedi
이것은 내 답변에서 말한 것입니다. 보다 복잡한 기능을 원하면 각 요소를 통해 상호 작용해야합니다. 이 경우 모든 항목을 통해 foreach 루프를 수행하고 각 항목에 대해'.Contains'를 사용해야합니다 (발견되면 'Exit For'). foreach 루프는 정말 빠르며 성능에 영향을주지 않습니다. 'FindString'이나'findstringexact'는 정확히 모든 것을 처리한다는 것을 명심하십시오. 다음 번에는 정확한 조건을 설명해주십시오. 정확한 결과를 제공하는 작업 코드를 적어 둘 수 있습니다 (원하는 경우 지금 할 수 있습니다). – varocarbas