Insertar un text box en tiempo de ejecucion

cristiangarofalo
02 de Octubre del 2003
HOla a todos, me gustaria preguntarles si es

que es posble, si se pueden agrgar textbox, o

label en forma dinamica, es decir supongamos

que al Usuario le digo ingrese la cantidad de

numeros que quiere apostar el tipo escribe 7,

en base a eso yo quiero hacer un ciclo,

pongamosle

for i=0 to valor_ingresado_por_USR
DO
INSERTAR TEXTBOX o LABEL
next I

DE modo que me quede

TEXTBOX0 (aca el tipo despues tiene que

ingresar un valor claro)
TEXTBOX1
-------
TEXTBOX6

Alguien me puede dar una mano por favor?
Es posible lo que quiero hacer?

Muchas GRacias
Cristian Garofalo.

Juan
02 de Octubre del 2003
Lo más fácil es que uses un array de controles. Para
hacer eso inserta un textbox(o cualquier control) y
establece la propiedad Index=0, y ya tienes el array.

Para cargar nuevos elementos de ese array sólo tienes
que ejecutar una sentencia como esta:

Load Text1(indice)

Una forma fácil de agregar un elemento es hacerlo así:

Load Text1(Text1.Count)

Si cargas así todos los elementos no tendrás problemas
a la hora de saber si el indice ya está especificado.

Para descargar elementos puedes hacer esto:

Do While Text1.Count > 1
UnLoad Text1(Text1.Count -1)
Loop

que descargaría todos los elementos excepto el primero.

Cuando cargues nuevos elementos. ten en cuenta que
estos son clones del primero, o sea que tendrás que
cambiar los valores de sus propiedades para colocarlo
en su sitio etc. Recuerda también que al cargarse son
invisibles así que despues de cargar y modificar sus
propiedades debes asignar true a su propiedad Visible.

sdemingo
02 de Octubre del 2003
Hola,

esa pregunta ya salió en este foro y creo que nadie dio una solución a tu problema. A mi me da que eso es imposible de hacer, pero como solución alternativa podrías crearte, en tiepo de diseño, un array con muchos TextBox y un array con muchos Labels. Les pones a todos Visible = False.
En tu bucle:
for i=0 to valor_ingresado_por_USR
DO
TextBox(i).Visible = True
Label(i).Visible = True
next i

Luego los colocas donde quieres en el formulario con las propiedades top y left.

Espero que te sirva

Un saludo
sdemingo