1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ler item por item numa ListBox (VB2005)

Discussão em 'Programação' iniciada por Noeljunior, 20 de Outubro de 2007. (Respostas: 4; Visualizações: 2186)

  1. Noeljunior

    Noeljunior I fold therefore I AM

    Boas

    Num form tenho um (chamado agora de) textbox e uma listbox. A ideia é escrever qualquer coisa no textbox e com um enter/button essa coisa passa para a listbox MAS sempre que tento adicionar tenho de ver se esse texto já foi inserido.

    Para isso preciso de um ciclo que me leia item por item do inicio ao fim para ver se esse texto já foi inserido.

    Exemplo do que quero (se tiver algum erro ou se der para optimizar, agradeço):
    Código:
    y = 0
    for x = 1 to ListBox.Items.Count
    If [B][I]item(x).Text[/I][/B] = TextBox1.Text Then
    y = 1
    x = ListBox.Items.Count
     EndIf
    next x
    
    If  y = 1 Then
    ListBox.Items.Add(TexBox1.Text)
    EndIf
    
    Em que Item(x).Text é o texto do item de número x.

    Desde já obrigado ;)

    Cumps
     
    Última edição: 20 de Outubro de 2007
  2. balute

    balute Power Member

    Não quererás uma textbox em vez de label? O label não serve para inserir texto.

    Depois é só colocar isto:
    Código:
        Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
            TextBox1.Clear()
            If e.KeyCode = Keys.Enter AndAlso ListBox1.Items.IndexOf(TextBox1.Text) = -1 Then
                ListBox1.Items.Add(TextBox1.Text)
            End If
        End Sub
     
  3. Noeljunior

    Noeljunior I fold therefore I AM

    Pois... Passei o dia todo de volta do projecto e já troco tudo.

    Sim, estava a referir-me a TextBox e não a Label :)



    EDIT: Realmente é mais fácil e rápido fazer como disseste e resolve o que quero! :)

    Só o .Clear() tem de ir para o fim daquilo tudo e não para o inicio ;)


    Cumps
     
    Última edição: 20 de Outubro de 2007
  4. Noeljunior

    Noeljunior I fold therefore I AM

    E se eu quiser ler item por item na mesma?

    Agora a ideia é, depois de adicionar vários items através do textbox, carregar em "ok" e enviá-los para um combobox. Daí a precisar de ler um por um para escrever também um por um.
     
  5. balute

    balute Power Member

    lol é verdade. Adicionei isso depois e nem voltei a testar :P

    Para ler item por item, faz assim:
    Código:
    For x As Integer = 0 To ListBox1.Items.Count - 1
        'fazer qualquer coisa com: ListBox1.Items(x)
    Next
     

Partilhar esta Página