Foros del Web » Programación para mayores de 30 ;) » .NET »

Nombre de Texbox dinamico

Estas en el tema de Nombre de Texbox dinamico en el foro de .NET en Foros del Web. Hola amigos como están, recurro a ustedes para que me ayuden con un problema estoy creando una pequeña aplicación y estoy generando cajas de texto ...
  #1 (permalink)  
Antiguo 29/05/2011, 17:33
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Nombre de Texbox dinamico

Hola amigos como están, recurro a ustedes para que me ayuden con un problema estoy creando una pequeña aplicación y estoy generando cajas de texto dinamicas, pero quiero que el nombre de cada una vaya cambiando con una variable i. Mi codigo es el siguiente:



Private Sub frmMatTrans_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim i As Integer


For i = 1 To frmDatIni.gdl

Dim ed1D1 As New TextBox 'Aca en lugar de ed1D1 quisiera quevaya cambiando, por ejemplo ed1D2 ed1D3, etc. Como puedo concatenar el nombre con la variable.

ed1D1.Width = 20
ed1D1.Height = 20
ed1D1.Enabled = True
ed1D1.Left = i * 25
ed1D1.Top = 25

Me.Controls.Add(ed1D1)
Next


End Sub

Gracias de antemano
  #2 (permalink)  
Antiguo 30/05/2011, 08:16
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Nombre de Texbox dinamico

Pues con un iterador... ya sea un for... mira te paso un link de este mismo foro para que te guies de botones dinamicos aqui nada mas que para que lo visualizes te juegas con la propiedad text o el name para que se diferencien. Saludos!.

PDT: Te dejo otro link algo un poco mas complejo sobre creacion dinamica de controles aqui.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 31/05/2011, 07:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Nombre de Texbox dinamico

Gracias, solucioné mi problema.
  #4 (permalink)  
Antiguo 31/05/2011, 09:03
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Nombre de Texbox dinamico

Bueno ahora que ya se crean las cajas de texto, como puedo hacer para almacenar los datos en un array, al presionar un botón.
Código vb:
Ver original
  1. Public element1 As Array
  2.     Private Sub frmMatTrans_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.  
  4.         Dim i As Integer
  5.  
  6.         'Bucle para crear los labels y ponerle algunas propiedades  
  7.        For i = 1 To frmDatIni.gdl
  8.             'Crear nuevo ed1
  9.            Dim ed1D As New TextBox
  10.             'Propiedades
  11.            ed1D.Width = 20
  12.             ed1D.Height = 20
  13.             ed1D.Enabled = True
  14.             ed1D.Left = i * 25
  15.             ed1D.Top = 50
  16.             ed1D.Name = "ed1D" & i
  17.             'El control a la coleccion de controles del Form
  18.            Me.Controls.Add(ed1D)
  19.             'Crear nuevo ed1
  20.            Dim ed2D As New TextBox
  21.             'Propiedades
  22.            ed2D.Width = 20
  23.             ed2D.Height = 20
  24.             ed2D.Enabled = True
  25.             ed2D.Left = i * 25
  26.             ed2D.Top = 75
  27.             ed2D.Name = "ed2D" & i
  28.             'El control a la coleccion de controles del Form
  29.            Me.Controls.Add(ed2D)
  30.             'Crear nuevo ed1
  31.            Dim ed3D As New TextBox
  32.             'Propiedades
  33.            ed3D.Width = 20
  34.             ed3D.Height = 20
  35.             ed3D.Enabled = True
  36.             ed3D.Left = i * 25
  37.             ed3D.Top = 100
  38.             ed3D.Name = "ed3D" & i
  39.             'El control a la coleccion de controles del Form
  40.            Me.Controls.Add(ed3D)
  41.             'Crear nuevo ed1
  42.            Dim ed4D As New TextBox
  43.             'Propiedades
  44.            ed4D.Width = 20
  45.             ed4D.Height = 20
  46.             ed4D.Enabled = True
  47.             ed4D.Left = i * 25
  48.             ed4D.Top = 125
  49.             ed4D.Name = "ed4D" & i
  50.             'El control a la coleccion de controles del Form
  51.            Me.Controls.Add(ed4D)
  52.         Next
  53.  
  54.     End Sub
  55.  
  56.  
  57.     Private Sub btnMatTra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMatTra.Click
  58.  
  59.     End Sub
  #5 (permalink)  
Antiguo 31/05/2011, 09:17
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Nombre de Texbox dinamico

Creando un ArrayList y recorriendo de la misma forma que los creas nada mas que en vez de crearlos los llamas por su nombre y obtienes el texto. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #6 (permalink)  
Antiguo 31/05/2011, 10:48
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Nombre de Texbox dinamico

Disculpa que te moleste pero soy principiante en todo esto y lo que hice fue esto
Código vb:
Ver original
  1. Private Sub btnMatTra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMatTra.Click
  2.  
  3.         ' vector de tipo String  
  4.        Dim element_string As Integer() = {ed1D1.Text, ed1D2.Text, ed1D3.Text}
  5.  
  6.         ' recorrer el vector y  mostrar los valores  
  7.        For i As Integer = 0 To element_string.Length - 1
  8.             MsgBox(element_string(i).ToString)
  9.         Next
  10.  
  11.  
  12.  
  13.     End Sub

{ed1D1.Text, ed1D2.Text, ed1D3.Text} en esta parte se supone que deberían guardarse los valores, pero no se como hacerlo.
  #7 (permalink)  
Antiguo 31/05/2011, 11:13
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Nombre de Texbox dinamico

Hola clarkpler algo como esto :
Código vb.net:
Ver original
  1. Private Sub btnMatTra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMatTra.Click
  2.  
  3.         ' vector de tipo String  
  4.         'Dim element_string As Integer() = {ed1D1.Text, ed1D2.Text, ed1D3.Text}
  5.  
  6.         ' Creas tu Arraylist 
  7.         Dim lista As New ArrayList()
  8.  
  9.         ' recorrer el vector y  mostrar los valores  
  10.         'For i As Integer = 0 To element_string.Length - 1
  11.             ' MsgBox(element_string(i).ToString)
  12.         'Next
  13.  
  14.         ' Recorremos la colección de controles del formulario
  15.         For Each ctrl As Control In Me.Controls
  16.                 ' Si el tipo de control es un TextBox
  17.                 If TypeOf ctrl Is TextBox Then
  18.                     ' Si se llama "ed1D1" ó "ed1D2" ó "ed1D3"
  19.                     If ctrl.Name = "ed1D1" or ctrl.Name = "ed1D2" or ctrl.Name = "ed1D3" Then
  20.                         ' Lo almacenamos en el arraylist
  21.                         lista.add(ctrl.Text)
  22.                         'Si quieres visualizar que se guarda correctamente lo imprimes para verificar
  23.                         MessageBox.Show(ctrl.Text)
  24.                     End If
  25.                 End If
  26.         Next
  27. End Sub

Espero haberte ayudado. Saludos!.

PDT: En los links que te pase en el que te dije que era medio complicado de alli me base para hacer este codigo.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #8 (permalink)  
Antiguo 31/05/2011, 16:00
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Nombre de Texbox dinamico

Gracias amigo, funciono, lo modifique para que guarde todas las cajas de texto, quedo de esta forma:

Código vb:
Ver original
  1. Private Sub btnMatTra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMatTra.Click
  2.  
  3.         ' Creas tu Arraylist 
  4.        Dim lista As New ArrayList()
  5.  
  6.         ' Recorremos la colección de controles del formulario
  7.        For Each ctrl As Control In Me.Controls
  8.             ' Si el tipo de control es un TextBox
  9.                If TypeOf ctrl Is TextBox Then
  10.                 ' Si se llama "ed1D1" ó "ed1D2" ó "ed1D3"
  11.                Dim i As Integer
  12.                 For i = 1 To frmDatIni.gdl
  13.                     If ctrl.Name = "ed1D" & i Then
  14.                         ' Lo almacenamos en el arraylist
  15.                        lista.Add(ctrl.Text)
  16.                         'Si quieres visualizar que se guarda correctamente lo imprimes para verificar
  17.                    End If
  18.                     If ctrl.Name = "ed2D" & i Then
  19.                         ' Lo almacenamos en el arraylist
  20.                        lista.Add(ctrl.Text)
  21.                         'Si quieres visualizar que se guarda correctamente lo imprimes para verificar
  22.                    End If
  23.                     If ctrl.Name = "ed3D" & i Then
  24.                         ' Lo almacenamos en el arraylist
  25.                        lista.Add(ctrl.Text)
  26.                         'Si quieres visualizar que se guarda correctamente lo imprimes para verificar
  27.                    End If
  28.                     If ctrl.Name = "ed4D" & i Then
  29.                         ' Lo almacenamos en el arraylist
  30.                        lista.Add(ctrl.Text)
  31.                         'Si quieres visualizar que se guarda correctamente lo imprimes para verificar
  32.                    End If
  33.                 Next
  34.             End If
  35.         Next
  36.         MessageBox.Show(lista(5))
  37.     End Sub


No se si estará bien, pero veo que solo me está almacenando en una fila; como puedo hacer para almacenar también en varias filas. lo que quiero generar es una matriz rectangular.
  #9 (permalink)  
Antiguo 31/05/2011, 16:03
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Nombre de Texbox dinamico

como que te almacena 1 fila no entiendo...?
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #10 (permalink)  
Antiguo 31/05/2011, 16:25
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Nombre de Texbox dinamico

No se si me dejo entender pero quiero crear una matriz rectangular, por ejemplo:

[1][0][0]
[0][0][0]
[0][0][0]
[0][0][0]

y el arraylist creo que lo guarda asi

[1][0][0][0][0][0][0][0][0][0][0][0]

Lo que pasa es que estoy haciendo una pequeña aplicación para resolver unos problemas de un curso, y necesite ingresar una matriz rectangular, para luego efectuar operaciones con ella... espero me haya dejado entender.

Última edición por clarkpler; 31/05/2011 a las 17:10
  #11 (permalink)  
Antiguo 31/05/2011, 17:42
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Nombre de Texbox dinamico

estuve buscando información y creo se hace con array de la forma {{5, 6}, {7, 8}} seria una matriz de 2x2

Etiquetas: dinamico, nombre
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:57.