none
Salto de linea en listbox despues de determinada cantidad de caracteres RRS feed

  • Pregunta

  • Hola tengo un listbox en el cual le agrego datos desde un textbox. Mi pregunta es como puedo hacer para que el listbox me haga un salto de linea si el texto que ingreso desde el textbox es muy largo.

    Por ejemplo si agrego "Hola como estas" en el listbox me lo muestre en una linea.
    Pero si agrego "Hola como estas, yo bien gracias" en el listbox me lo muestre en dos lineas. 

    Algo así:
    Hola como estas,
    yo bien gracias

    Esperando su respuesta, gracias.

    • Cambiado Enrique M. Montejo jueves, 29 de mayo de 2014 7:25 Pregunta relacionada con controles de Windows Forms.
    sábado, 24 de mayo de 2014 20:13

Todas las respuestas

  • no me sirve ese código :(, necesito que el listbox realice salto de linea después de determinada cantidad de caracteres. El código que me diste realiza el salto de linea de acuerdo a el tamaño del listbox.

    Gracias de todas formas, si sabes como se hace como lo necesito porfavor ayúdame.

    sábado, 24 de mayo de 2014 20:57
  • Bueno mira, hay varias formas de hacer las cosas, yo eleji usar el evento del textbox, pero podes usar el enter o lo que se te ocurra, te dejo un codigo que a mi me funciona a la perfeccion, cualquier cosa decinos que version de vs usas y si lo tenes actualizado, saludos.

          Try
                'If para asegurar se, que no esta vacio el TextBox.
                If (TextBox1.Text <> "") And (TextBox1.Text <> Nothing) Then
                    'Leemos el texbox.
                    Dim linea As String = TextBox1.Text
                    'Contamos los caracteres, si son igual o menor que 30, no hacemos nada
                    'si son mas de 30, pasamos al listbox y borramos textbox.
                    If (linea.Length >= 30) Then
                        ListView1.Items.Add(linea)
                        TextBox1.Clear()
                    End If
                End If
            Catch ex As Exception
                'Si la aplicacion se detiene, mostramos el error.
                MsgBox(ex.ToString)
            End Try

    domingo, 25 de mayo de 2014 16:30
  • es algo así lo que necesito, pero necesito que me agregue cuando sean menos de 30 caracteres y cuando sean mas de  30 cree el salto de linea. osea que me ponga 30 en una linea y el resto de los caracteres me los ponga en la siguiente linea.(solo en el caso de que sean mas de 30)
    lunes, 26 de mayo de 2014 4:56
  • Proba con este codigo, a mi me funciona, saludos.

    Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
            Try
                If e.KeyCode = Keys.Enter Then
                    If (TextBox1.Text.Length >= 30) Then
                        Dim linea1 As String = TextBox1.Text.Substring(0, 30)
                        ListBox1.Items.Add(linea1)
    
                        Dim linea2 As String = TextBox1.Text.Substring(30)
                        ListBox1.Items.Add(linea2)
                        TextBox1.Clear()
                    Else
                        ListBox1.Items.Add(TextBox1.Text)
                    End If
                End If
            Catch ex As Exception
                MsgBox(ex.ToString, MsgBoxStyle.Critical, "Error!")
            End Try
        End Sub

    sábado, 14 de junio de 2014 16:20