Insertar un text box en tiempo de ejecucion
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.
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.
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.
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.
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
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