• Domingo 22 de Diciembre de 2024, 17:01

Autor Tema:  Referenciar TextBox creado Dinamicamente  (Leído 2694 veces)

BioK

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Referenciar TextBox creado Dinamicamente
« en: Sábado 14 de Marzo de 2009, 20:09 »
0
Hola todos he creado N TextBox en forma dinamica. Pero el problema es que ahora no puedo recuperar el contenido de la propiedad .text de cada CajaDeTexto pareciera como si no me anduviera el atributo Name del Controls.Add Ayuda por favor no se que mas hacer...Este es el codigo que tengo

topFreq = 60
leftFreq = 200

For i = 1 To N

Dim txtFreq As TextBox
Set txtFreq = Form.Controls.Add("Forms.TextBox.1", CStr("textFreq" & CStr(i)))


txtFreq.Top = topFreq
txtFreq.Left = leftFreq

topFreq = topFreq + 30

Next i

'*********

Private Sub CommandButton1_Click()
Dim variableX as integer

variableX = textFreq1.Text

End Sub



Saludos desde  de Corrientes. BioK

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Referenciar TextBox creado Dinamicamente
« Respuesta #1 en: Lunes 16 de Marzo de 2009, 10:31 »
0
Bienvenido al foro BioK.

UTILIZA LAS ETIQUETAS DE CÓDIGO

Tu problema radica en que estás haciendo referencia a textFreq1, que no existe. Sólo existe txtFreq.

Salud

BioK

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Referenciar TextBox creado Dinamicamente
« Respuesta #2 en: Lunes 16 de Marzo de 2009, 19:50 »
0
se supone que tendria que existir porque al poner Set txtFreq = form.Controls.Add(id,[nombre],[visible]) el atributo nombre sirve para despues hacer referencia al objeto, que como esta en un ciclo tengo varios por eso uso un subindice... Pero igualmente fuera de Private Sub UserForm_initialize() no me anda ni tratando de usar la referencia a txtFreq.Text. La verdad ya nose que mas probar...

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Referenciar TextBox creado Dinamicamente
« Respuesta #3 en: Martes 17 de Marzo de 2009, 09:36 »
0
:ph34r:  :ph34r:  :ph34r:

Vuelve a mirar bien el código que tienes. Míralo fijamente... ¿De verdad no lo ves, o estás de broma?  :alien:

BioK

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Referenciar TextBox creado Dinamicamente
« Respuesta #4 en: Martes 17 de Marzo de 2009, 15:28 »
0
Jaja no la verdad no lo veo. Y de verdad este codigo asi no me anda por favor si ves algo raro decimelo. Gracias (si decias por la "e" estaba probando nomas llamarlo de otra forma distinta a la definición Dim txtFreq As TextBox pero tampoco anda )

Private Sub UserForm_initialize()
topFreq = 60
leftFreq = 200

For i = 1 To N

Dim txtFreq As TextBox
Set txtFreq = Form.Controls.Add("Forms.TextBox.1", CStr("txtFreq" & CStr(i)))


txtFreq.Top = topFreq
txtFreq.Left = leftFreq

topFreq = topFreq + 30

Next i

'*********

Private Sub CommandButton1_Click()
Dim variableX as integer

variableX = txtFreq1.Text

End Sub

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Referenciar TextBox creado Dinamicamente
« Respuesta #5 en: Martes 17 de Marzo de 2009, 16:19 »
0
Cita de: "BioK"
(si decias por la "e" estaba probando nomas llamarlo de otra forma distinta a la definición Dim txtFreq As TextBox pero tampoco anda )
Aha, lo más lógico del mundo: si lo llamas de otra forma seguro que te hace caso  :wacko: Y también que yo adivine que tú lo has hecho aposta. Tiene huevos la cosa.

Código: Visual Basic
  1. Option Explicit
  2.  
  3. Dim WithEvents Texto As VB.TextBox
  4.  
  5. Private Sub Form_Load()
  6.     Set Texto = Controls.Add("VB.TextBox", "Texto", Form1)
  7.     Texto.Visible = True
  8. End Sub
  9.