我要创建一个通配符搜索字符(例如Binary%),因此当他们单击搜索时,它会找到文件名中带有Binary一词的所有文件,并将它们加载到列表框中。我当前的代码如下。
Private Sub _test_TextChanged(sender As Object, e As TextChangedEventArgs) Handles _test.TextChanged
For x As Integer = 0 To _listbox.Items.Count - 1
If _listbox.Items(x).ToString = _test.Text$ Then
_listbox.SelectedIndex = x
Return
End If
Next
End Sub
欢迎任何帮助!
谢谢! -Kyvex
答案 0 :(得分:1)
您要问的内容与您的代码不完全匹配。
...“ 当他们单击搜索时会找到所有文件” ...
但是您有 TextBox (不是按钮)的 TextChanged 事件处理程序
...”,文件名中包含Binary一词,然后将其加载到列表框中”
但是您只能选择与列表框中已有项目的过滤器匹配的第一项
要使您的代码执行似乎要执行的操作,只需使用Like
运算符,并在TextBox.Text之后添加通配符(*
)
For x As Integer = 0 To _listBox.Items.Count - 1
If _listBox.Items(x).ToString Like _test.Text & "*" Then
_listBox.SelectedIndex = x
Return
End If
Next
现在,您可以在列表框中选择与过滤器匹配的第一项
如果您有一个多选列表框,则可以使用它
If _test.Text = "" Then Exit Sub
_listBox.SelectionMode = SelectionMode.MultiSimple
For x As Integer = 0 To _listBox.Items.Count - 1
_listBox.SetSelected(x, _listBox.Items(x).ToString Like _test.Text & "*")
Next
(过滤器逻辑与第一个示例相同)
您可以使其不区分大小写
_listBox.SetSelected(x, _listBox.Items(x).ToString().ToUpper() Like _test.Text.ToUpper() & "*")