Visual Basic.NET - Crear controles en tiempo de ejecución .net

 
Vista:

Crear controles en tiempo de ejecución .net

Publicado por Marquitos! (12 intervenciones) el 11/12/2017 22:24:45
Hola, tengo un problema al crear controles en tiempo de ejecución.
En tiempo de ejecución digamos que cree 5 paneles (este nro no es siempre fijo, puede variar), hasta acá va todo bien.
A estos paneles les cree el evento AddHandler Panel1.Click, AddressOf Panel_Click, lo que hago en este evento es saber cual fue el ultimo al que le dio clic el usuario.
Mi problema viene ahora. Cuando quiero crear un textbox (por ejemplo) en el ultimo panel que hizo clic el usuario.

1
2
3
4
Dim TextBox1 = New System.Windows.Forms.TextBox()
TextBox1.Location = New System.Drawing.Point(8, 35)
TextBox1.Name = "TextBox1"
TextBox1.Size = New System.Drawing.Size(100, 20)

poseo una variable llamada PANELUSAR en donde se guardo el nombre del ultimo panel que toco el usuario.

ahora quiero agregar a dicho panel el textboxt.... pero ocurre que no puedo porque me dice que ese panel no existe (cosa que es verdad, ya que todavía no esta creado).
Mi duda es la siguiente, como hago para poner el nombre del panel sin que de error, alguna idea?
Me. ------AQUÍ IRÍA EL NOMBRE DEL PANEL------ .Controls.Add(TextBox1)

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kingk
Val: 173
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Crear controles en tiempo de ejecución .net

Publicado por kingk (77 intervenciones) el 13/12/2017 00:57:10
Hola, como deseas agregar el TextBox al panel de acuerdo a su nombre, seria asi:
1
2
3
4
5
Dim TextBox1 = New System.Windows.Forms.TextBox
TextBox1.Location = New System.Drawing.Point(8, 35)
TextBox1.Name = "TextBox1"
TextBox1.Size = New System.Drawing.Size(100, 20)
Me.Controls.Find(PanelUsar, True)(0).Controls.Add(TextBox1)

Con esto podras agregar el TextBox al panel que lleve el nombre guardado en la variable PanelUsar.
Espero haberte ayudado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Crear controles en tiempo de ejecución .net

Publicado por Marquitos! (12 intervenciones) el 15/12/2017 00:04:30
Fue de mucha ayuda! Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar