Insertar automáticamente un text box en un userform

Básicamente me gustaría saber si en el formulario puedo digitar un numero cualquiera en un cuadro de texto, y que me abra la cantidad de cuadros de texto igual a ese numero.

Gracias

1 Respuesta

Respuesta
1

Suponiendo que tienes un TextBox1 y un Button1:

En el evento Click del Button1:

Dim T, i As Integer
T = TextBox1.Top
 For i = 1 To CInt(TextBox1.Text)
     Dim txt As New TextBox With {.Top = T, .Left = Button1.Left + Button1.Width + 10}
     Me.Controls.Add(txt)
     T = txt.Top + txt.Height + 10
 Next

Y se irán agregando al lado derecho del botón y hacia abajo.

Aunque para hacerlo mas fácil, haría esto:

Public Class Form1
'Declaramos un Generic List de TextBox a nivel Formulario o Classe
Dim txtList As New List(Of TextBox)
'Para Agregar los TextBox
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
 Dim T As Integer
 Dim i As Integer
T = TextBox1.Top
 For i = 1 To CInt(TextBox1.Text)
     Dim txt As New TextBox With _
                         {.Top = T,
                          .Left = Button1.Left + Button1.Width + 10,
                          .Name = "txt" & i}
    txtList.Add(txt)
     Me.Controls.Add(txt)
     T = txt.Top + txt.Height + 10
 Next
 End Sub
'Para Eliminar los TextBox Creados
 Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
 For Each t As TextBox In txtList
    Me.Controls.Remove(t)
 Next
 End Sub
End Class

Hola, resulta que ejecuto la segunda opción que me das, y me funciona perfectamente para agregar textbox, pero para el botón de eliminar los textbox no me funciona.

Gracias

¿Y en donde exactamente se detiene? ¿Qué error marca?

¿Agregaste esto?

Dim txtList As New List(Of TextBox)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas