搜索列表框,搜索结果时不会突出显示结果

时间:2014-11-22 23:31:04

标签: vb.net

我遇到了一个我不理解的问题,而挫折感阻碍了我的过程。

我有一个文本文件,可以读取并加载到列表框中。我有一个搜索工作上一次尝试,但功能不是很正确,我将结果放在一个单独的列表框中,但无法找出删除过程,因为它不会更新原始列表框删除后。所以我选择保持简单或者我认为只想使用一个列表框。

textchanged txtSearch代码如下所示,它不会突出显示单个搜索项。我试过lstMain.SelectedItem = True,lstMain.SelectedItem = item我猜测这是因为lstMain.SelectedItem需要一个Integer值,我用字符串来选择一定数量的数据在文本文件中的每一行上,类似于列和行。

For Each item As String In lstMain.SelectedItems
    If item.ToUpper.Substring(0, 24).Contains(strSearchField.ToUpper) Then
        lstMain.SelectedItem
            End If
            Next

2 个答案:

答案 0 :(得分:1)

只有最后一项是匹配时,你的逻辑才有效。

For Each item As String In lstMain.SelectedItems
  If item.ToUpper.Substring(0, 24).Contains(strSearchField.ToUpper) Then
    lstMain.SelectedItem = item
    Exit For 'so the found item stays selected
  End If
Next

For i As Integer = 0 To lstMain.Items.Count - 1
  If lstMain.Items(i).ToUpper.Substring(0, 24).Contains(strSearchField.ToUpper) Then
    lstMain.SelectedIndex = i
    Exit For 'so the found item stays selected
  End If
Next

答案 1 :(得分:0)

我认为您需要在listbox中突出显示搜索到的字词,不是吗?如果是这样,以下代码将帮助您:

 Dim searchWord As String = "apple"
 If ListBox1.Items.Contains(searchWord) Then
    ListBox1.SelectedItem = searchWord
 End If