none
pasar de listbox a un textbox al hacer click en un buttom RRS feed

  • Pregunta

  • GRACIAS DE ANTEMANO POR SU AYUDA

    he visto que creando array o clases se puede hacer pero soy nuevo en la programación

    y apenas estoy picando código quiero hacerlo primero de manera censilla y después ir avanzando me entienden loque quero hacer es....

    AL CARGAR UN LIST BOX CON DATOS PASAR UNO A UNO ESOS DATOS A UN TEXTBOS AL HACER CLICK EN UN BUTTOM ,

    NO CON ARRAYS

    lo que tengo es esto: CARGAMOS EL LIST BOX CON LOS DATOS OK...

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                Dim lines = File.ReadAllLines(OpenFileDialog1.FileName)
                ListBox1.Items.Clear()
                ListBox1.Items.AddRange(lines)
            End If

        End Sub

    YA SE CARGARON LOS DATOS OK..

    AHORA AL QUERER PASARLOS uno a uno  AL TEXBOX TRATO ESTO

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

            TextBox1.Text = TextBox1.Text + 1
            If TextBox1.Text < ListBox1.Items.Count Then
                ListBox1.SelectedItem = ListBox1.Items.Item(TextBox1.Text)
            ElseIf TextBox1.Text > ListBox1.Items.Count - 1 Then
                ListBox1.SelectedItem = ListBox1.Items.Item(0)
            End If

        End Sub

    EL CODIGO solo en un form con un button y 2 textbox funciona bien

    pero cuando lo pongo todo junto en un form  me sale error

    me explico el segundo código corre sin problemas en un form solo

    pero al querer hacer un form que carge la lista  y al hacer click en un boton lo pase a un texbox me da ERROR  saludos y gracias por su ayuda...


    • Editado __azteca__ domingo, 22 de febrero de 2015 18:54
    domingo, 22 de febrero de 2015 18:49

Respuestas

  • Hola,

    Mil disculpas, acabo de entender recién lo que buscas.

    Dim indexCurrent As Integer = 0
    
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
      TextBox1.Text = String.Empty
    
      If indexCurrent <= ListBox1.Items.Count Then
    
        ListBox1.SelectedIndex = indexCurrent
    
        TextBox1.Text = ListBox1.SelectedItem.ToString()
    
        indexCurrent = indexCurrent + 1
      End If
    
    End Sub

    Si la solución propuesta atendió su consulta no olvide marcarla como respuesta.

    Willams Morales
    Arequipa - PERÚ
    • Editado Willams Morales domingo, 22 de febrero de 2015 20:22
    • Marcado como respuesta __azteca__ domingo, 22 de febrero de 2015 20:31
    domingo, 22 de febrero de 2015 20:15
  • Hola,

    También puedes hacer lo siguiente sin necesidad de utilizar una variable auxiliar

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
      If ListBox1.SelectedIndex = -1 Then
        TextBox1.Text = String.Empty
    
        ListBox1.SelectedIndex = -1
      End If
    
      If ListBox1.SelectedIndex < ListBox1.Items.Count - 1 Then
    
        ListBox1.SelectedIndex = (ListBox1.SelectedIndex) + 1
    
        TextBox1.Text = ListBox1.SelectedItem.ToString()
      End If
    End Sub


    • Marcado como respuesta __azteca__ domingo, 22 de febrero de 2015 22:09
    domingo, 22 de febrero de 2015 20:35

Todas las respuestas

  • Hola,

    No entiendo lo que intentas hacer. ¿Quieres pasar el contenido del ListBox al TextBox?

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      TextBox1.Text = ""
    
      For Each elemento As String In ListBox1.Items
        TextBox1.Text = TextBox1.Text + elemento + " "
      Next
    End Sub


    Si la solución propuesta atendió su consulta no olvide marcarla como respuesta.

    Willams Morales
    Arequipa - PERÚ

    domingo, 22 de febrero de 2015 19:02
  • gracias por tu respuesta me parece algo tan simple pero no puedo encontrar la solución a esto

    tengo un listbox1 con  palabras ejemplo

    hola

    como

    estas

    lo que pretendo es que al presionar un button un click a la vez pase línea a línea de listbox1  al textbox1 y la primer línea que puso se borre, al primer click  que ponga  HOLA al segundo click  ponga COMO y el HOLA se borre y al tercer click ponga ESTAS y el COMO se borre del textbox1

    primer click

    de listbox1 ----->   pase HOLA a ---->  textbox1.text

    segundo chlick

    borre HOLA  del textbox1

    de listbox1 -----> pase COMO a ------> textbox1.text

    tercer click

    borra COMO

    de listbox1 -----> pase ESTAS  al texbox1

    ojala me explique  gracias por tu ayuda....

    domingo, 22 de febrero de 2015 20:07
  • Hola,

    Mil disculpas, acabo de entender recién lo que buscas.

    Dim indexCurrent As Integer = 0
    
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
      TextBox1.Text = String.Empty
    
      If indexCurrent <= ListBox1.Items.Count Then
    
        ListBox1.SelectedIndex = indexCurrent
    
        TextBox1.Text = ListBox1.SelectedItem.ToString()
    
        indexCurrent = indexCurrent + 1
      End If
    
    End Sub

    Si la solución propuesta atendió su consulta no olvide marcarla como respuesta.

    Willams Morales
    Arequipa - PERÚ
    • Editado Willams Morales domingo, 22 de febrero de 2015 20:22
    • Marcado como respuesta __azteca__ domingo, 22 de febrero de 2015 20:31
    domingo, 22 de febrero de 2015 20:15
  • MIL GRACIAS FUNCIONA A LA PERFECCION....
    domingo, 22 de febrero de 2015 20:32
  • Hola,

    También puedes hacer lo siguiente sin necesidad de utilizar una variable auxiliar

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
      If ListBox1.SelectedIndex = -1 Then
        TextBox1.Text = String.Empty
    
        ListBox1.SelectedIndex = -1
      End If
    
      If ListBox1.SelectedIndex < ListBox1.Items.Count - 1 Then
    
        ListBox1.SelectedIndex = (ListBox1.SelectedIndex) + 1
    
        TextBox1.Text = ListBox1.SelectedItem.ToString()
      End If
    End Sub


    • Marcado como respuesta __azteca__ domingo, 22 de febrero de 2015 22:09
    domingo, 22 de febrero de 2015 20:35
  • MUCHAS GRACIAS AMIGO.....

    este funciona mejor y es exelente el oto código me da error al final este no

    saludos...

    domingo, 22 de febrero de 2015 22:10