none
VB.net - Como fazer busca sequêncial em listbox

    Question

  • Saudaçoes,

    Tenho o código abaixo que faz uma busca em uma listbox, ele quase funciona, porque sempre o primeiro registro da listbox ele não seleciona. O meu objetivo é que toda vez que o usuário interagir com o evento que chama o método, vá encontrando e selecionando a próxima string que contenha os parâmetros da pesquisa.

     

     

    Private Sub Pesquisar()

     

    Dim index As Integer = 0

     

    If lstDiretorios.SelectedItems.Count > 0 Then
     

    index = lstDiretorios.SelectedIndex

     

    End If

    lstDiretorios.ClearSelected()

     

    For linha As Integer = index To lstDiretorios.Items.Count - 1

     

    If lstDiretorios.Items(linha).ToUpper().contains(txtProcura.Text.ToUpper()) And linha <> index Then

    lstDiretorios.SelectedIndex = linha

     

    Exit For

     

    End If

     

    Next

     

    End Sub
    Wednesday, August 31, 2011 7:37 PM

All replies

  • Olá!

    Sugiro trocares algumas inicializações nos teus índices. Quem sabe, funcionaria melhor assim:

    Private Sub Pesquisar()
     
    Dim index As Integer = -1
     
    If lstDiretorios.SelectedItems.Count > 0 Then 
       index = lstDiretorios.SelectedIndex
    End If
    
    lstDiretorios.ClearSelected()
    
    For linha As Integer = (index+1) To lstDiretorios.Items.Count - 1
     
       If lstDiretorios.Items(linha).ToUpper().contains(txtProcura.Text.ToUpper()) And linha <> index Then
          lstDiretorios.SelectedIndex = linha
          Exit For
       End If
    
    Next
     
    End Sub
    

    Sds.,


    Daniel Ethur Porto Alegre/RS
    Wednesday, September 07, 2011 1:55 AM
  • Se o primeiro ele não seleciona, tenta remover esse código do if:

    And linha <> index
    

    Porque você está verificando se é diferente do primeiro registro, ou seja, ele não será selecionado.


    Bruno Ferreira de Souza
    MSP - Microsoft Student Partner
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    MCC - Microsoft Community Contributor
    www.maestrodotnet.com.br
    @BrunoMaestro

    Thursday, September 15, 2011 1:57 PM