none
Recorrer el contenido del listbox y mostrarlo un textbox RRS feed

  • Pregunta

  • Hola  a todos,  me da gusto saludarlos, soy nuevo en visual basic

    solicito de su ayuda para poder hacer lo siguiente:

    en el listbox tengo unos y ceros en fila

    1

    0

    1

    0

    , lo que quiero hacer es lo siguiente:  cuando le de iniciar (boton1) valla recorriendo los valores del listbox (0 y 1), pero cada que cambie de valor se vea en la textbox, cuando llegue al final del listbox inicie de nuevo,  esto hasta que se le de parar (boton2)

    no se si sea complicado pero yo ya le intente y solo me lee el ultimo valor del listbox

    por favor ayúdenme

    saludos

    Arturo

    jueves, 4 de junio de 2015 18:08

Respuestas

  • pues para hacer algo como lo que propones necesitas de un objeto timer...

    y establece el intervalo en un segundo y luego esto:

     Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
            Timer1.Start()
        End Sub
    
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            TextBox1.Text = ListBox1.Items(n).ToString
            n += 1
    
        End Sub
        Dim n As Integer = 0
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
    
        End Sub

    • Marcado como respuesta ECUelectronica jueves, 4 de junio de 2015 22:34
    jueves, 4 de junio de 2015 18:32
  • No tienes más que pararlo en el click del Button2:

        Dim n As Integer
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Timer1.Start()
        End Sub
    
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Timer1.Stop()
        End Sub
    
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            ListBox1.SelectedIndex = n
            TextBox1.Text = ListBox1.SelectedItem.ToString()
            n += 1
            If n >= ListBox1.Items.Count Then
                n = 0
            End If
        End Sub

    • Marcado como respuesta ECUelectronica jueves, 4 de junio de 2015 22:34
    jueves, 4 de junio de 2015 19:41

Todas las respuestas

  • pues para hacer algo como lo que propones necesitas de un objeto timer...

    y establece el intervalo en un segundo y luego esto:

     Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
            Timer1.Start()
        End Sub
    
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            TextBox1.Text = ListBox1.Items(n).ToString
            n += 1
    
        End Sub
        Dim n As Integer = 0
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
    
        End Sub

    • Marcado como respuesta ECUelectronica jueves, 4 de junio de 2015 22:34
    jueves, 4 de junio de 2015 18:32
  • Hola Gracias por tu ayuda si funciona bien,  pero ya que termina de recorrer los valores del listbox necesito que inicie de nuevo automáticamente, y solo pare cuando oprima el boton2 (timer1.stop)

    gracias

    Arturo

    jueves, 4 de junio de 2015 19:33
  • No tienes más que pararlo en el click del Button2:

        Dim n As Integer
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Timer1.Start()
        End Sub
    
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Timer1.Stop()
        End Sub
    
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            ListBox1.SelectedIndex = n
            TextBox1.Text = ListBox1.SelectedItem.ToString()
            n += 1
            If n >= ListBox1.Items.Count Then
                n = 0
            End If
        End Sub

    • Marcado como respuesta ECUelectronica jueves, 4 de junio de 2015 22:34
    jueves, 4 de junio de 2015 19:41