![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
Você está aqui: C# ::: Windows Forms ::: ListBox |
Pesquisando itens em uma ListBox usando o método FindString()Quantidade de visualizações: 9083 vezes |
O método FindString() da classe ListBox é útil quando precisamos localizar um item em uma ListBox que começa com uma determinada string. Este método recebe uma string e retorna o índice (começando em 0) do item encontrado. Se o item não for localizado, o retorno é -1. Veja um exemplo:private void button1_Click(object sender, EventArgs e){ // vamos adicionar alguns itens na ListBox listBox1.Items.Add("Java"); listBox1.Items.Add("C++"); listBox1.Items.Add("Delphi"); listBox1.Items.Add("Python"); // vamos pesquisar um item que começa com "Py" int pos = listBox1.FindString("Py"); if(pos > -1){ MessageBox.Show("O item foi encontrado no índice: " + pos); } else{ MessageBox.Show("O item não foi encontrado"); } } Veja que aqui nós pesquisamos um item que começa com "Py" e o mesmo foi localizado no índice 3. Note também que a comparação feita pelo método FindString() não é case-sensitive, ou seja, não diferencia letras maiúsculas de minúsculas. Se houver dois ou mais itens começando com a mesma string fornecida como argumento, o primeiro item é retornado. Há uma versão sobrecarregada do método FindString() que permite especificar o índice a partir do qual a pesquisa será feita. Veja: private void button1_Click(object sender, EventArgs e){ // vamos adicionar alguns itens na ListBox listBox1.Items.Add("Java"); listBox1.Items.Add("C++"); listBox1.Items.Add("Delphi"); listBox1.Items.Add("Python"); listBox1.Items.Add("VB.NET"); // vamos pesquisar um item que começa com "Del" // agora a pesquisa é feita a partir do quarto elemento int pos_inicial = 3; int pos = listBox1.FindString("Del", pos_inicial); if((pos != ListBox.NoMatches) && (pos >= pos_inicial)){ MessageBox.Show("O item foi encontrado no índice: " + pos); } else{ MessageBox.Show("O item não foi encontrado"); } } Neste código eu fiz um pequeno "hack". No .NET 3.5 e anteriores (e talvez posteriores) o método FindString() reinicia a busca a partir do índice 0 se o item pesquisado não for encontrado a partir do índice que especificamos e esta pode não ser a intenção de nosso código. Assim, fiz de forma que testamos se o elemento pesquisado foi realmente encontrado a partir do índice inicial definido. A versão sobrecarregada do método FindString() pode atirar uma exceção do tipo ArgumentOutOfRangeException se o índice a partir do qual a pesquisa será feita for um valor maior que a quantidade de itens na lista menos 1. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Java - Java Swing - Como obter a quantidade de colunas em uma JTable usando o método getColumnCount() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |