CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 como guardar un textbox en un array

(1/1)

fm89-10:
hola, tengo un duda, quisiera saber como guardar lo que tiene un  textbox en un array, utilizando el evento keypressed, osea que cuando presione enter me guarde lo que tiene el textbox en el arreglo, y el problema que tengo es que solo me guarda el primer valor del textbox y cuando presiono enter el segundo valor que escribo en el textbox no me lo guarda en el arreglo. quisiera que me ayudaran con algun ejemplo o algun codigo.

espero su ayuda.

sergios_:
Hola,

Podrías poner algo sobre cómo estas intentando guardar los valores que introduces en el textbox, de qué tipo es el array, cómo separas los diferentes valores cuando los escribes en el textbox...

A mí se me ocurren un par de ideas pero sin tener más información es dificil darte una respuesta.

Un saludo.

fm89-10:
este es el codigo que estoy haciendo

--- Código: Text --- dim arreglo as new arraylist  Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress        Dim ch As Char          If ch = ChrW(13) Then            For i As Integer = 0 To 4                arreglo.Insert(i, Integer.Parse(TextBox1.Text))                TextBox1.Text = ""            Next        End If   
pero no me guarda nada en el arreglo, que tengo malo, espero su ayuda

sergios_:
Hola,

Si te fijas en el código que estas usando veras que la primera vez que pasas por el for (i=0) conviertes lo que tienes en el textbox (supongo que hasta el primer espacio en blanco) a un integer y lo metes en el array. El primer problema es que inmediatamente después borras el contenido del textbox así que las siguientes veces que pasas por el for el textbox ya está vacío y por tanto es normal que solo te meta en el array un valor. El textbox lo tienes que borrar después del for.

Por otro lado, como no modificas de ninguna forma lo que tienes en el textbox, cada vez que llamases a "Integer.Parse(TextBox1.Text)" obtendrías el mismo resultado. Con esto lo que tendrías es el primero de los números que has escrito en el textbox repetido cinco veces en el array. Lo que tienes que hacer es separar en varias cadenas los números que has escrito en el textbox y luego convertirlos por separado a integer. No lo he probado pero mira a ver si te funciona algo así.


--- Código: Text ---  dim arreglo as new arraylist Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress         Dim ch As Char         Dim lineaSeparada As String()            If ch = ChrW(13) Then             lineaSeparada = TextBox1.Text.Split(" "c)             For i As Integer = 0 To lineaSeparada.GetUpperBound(0)                 arreglo.Insert(i, Integer.Parse(lineaSeparada(i)))             Next             TextBox1.Text = ""         End If     

Navegación

[0] Índice de Mensajes

Ir a la versión completa