我知道我可以使用.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
答案 0 :(得分:3)
FindString
方法返回以搜索字符串(MSDN)开头的第一个项目。如果您想匹配整个项目,则必须使用FindStringExact
(MSDN)。如果要执行更复杂的搜索,则必须遍历ListBox
中的所有元素。
更新: 代码提供OP所期望的确切功能。
For i As Integer = 0 To ListBox1.Items.Count - 1
If (ListBox1.Items(i).ToString.Contains(TextBox1.Text)) Then
ListBox2.Items.Add("String found at " & (i + 1).ToString) 'Indexing is zero-based
Exit For
End If
Next