Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Visual Basic clásico (http://www.forosdelweb.com/f69/)
-   -   Array de TextBox en VB.NET (http://www.forosdelweb.com/f69/array-textbox-vb-net-597370/)

daPhyre 17/06/2008 09:47

Array de TextBox en VB.NET
 
Tengo una serie de TextBox que quiero controlar de forma masiva a través de un form. Para ello, hago una declaración como la siguiente:

Código:

Dim txts As TextBox() = New TextBox() {txt1, txt2, txt3, txt4} 'Y varios más
Para inicializarlos, hago lo siguiente:

Código:

        Dim i As Integer
        For i = 0 To txts.Length - 1
            txts(i).Clear()
        Next

Y aquí comienzan mis problemas, pues a la hora de correrlo, se frena un programa subrayandome el "txts(i).Clear()", diciendo que no se ha inicializado, y lo haga con un New (Como es lógico en tales casos).

Pero hasta donde yo se, si lo he inicializado. Ya le he movido a la declaración, poniendole y quitándole partes esperando que funcione, basandome en ejemplos similares que tengo, pero no encuentro la solución, y comienzo a desesperarme un poco. Espero puedan ayudarme. Gracias.

daPhyre 18/06/2008 11:56

Respuesta: Array de TextBox en VB.NET
 
¿Nadie ha encontrado alguna solución a mi problema? =S

karloz21 23/07/2011 09:17

Respuesta: Array de TextBox en VB.NET
 
inicializalos con txts(i).text=""

JonathanB 23/07/2011 22:19

Respuesta: Array de TextBox en VB.NET
 
Saludos, el problema que tienes (me imagino) es por que no se esta asignando los text a tu arreglo, si los tienes declarado de esta manera
http://i51.tinypic.com/63zock.png

Podras ver que si inspeccionamos la variable txts, tiene cuatro elementos nulos, es decir no se han asignado los textbox que necesitas.
http://i53.tinypic.com/i53hjr.png

Ahora si lo agregas al procedimiento que estés utilizando para limpiar los textos, la variable txts tendrá asignados los textbox que has creado.
http://i52.tinypic.com/x1g4r6.png

Inspeccionando el valor de txts:
http://i55.tinypic.com/fof6ua.png


El siguiente código te debe de funcionar
Código vb:
Ver original
  1. Private Sub LimpiarTextos()
  2.     Dim txts As TextBox() = New TextBox() {txt1, txt2, txt3, txt4} 'Y varios más
  3.    Dim i As Integer
  4.     For i = 0 To txts.Length - 1
  5.         txts(i).Text = ""
  6.     Next
  7. End Sub

Espero que te haya sido de utilidad :adios:


La zona horaria es GMT -6. Ahora son las 20:22.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.