• Martes 16 de Abril de 2024, 15:49

Autor Tema:  Controles En .net  (Leído 1989 veces)

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Controles En .net
« en: Sábado 4 de Noviembre de 2006, 04:34 »
0
hola amigos, tengo un problema.

Deseo recorrer todos los controles de una forma y mostrar por ejemplo el nombre de los textbox y tengo un problema cuando me toco con un groupBox o alguno de otros contenedores como Panel, etc.
No me muestra los nombres de los textbox que estan dentro de un groupbox.

Código: Text
  1.  
  2.         Dim ctrl As Control
  3.         For Each ctrl In Me.Controls
  4.             If (TypeOf (ctrl) Is TextBox) Then
  5.                 Dim miTextBox As TextBox
  6.                 miTextBox = DirectCast(ctrl, TextBox)
  7.                 MsgBox(miTextBox.Name)
  8.             End If
  9.         Next
  10.  
  11.  

trato de colocar otro if en el for, pero no logro hacer lo que quiero.

Espero y me ayuden.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Cajami

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Controles En .net
« Respuesta #1 en: Sábado 4 de Noviembre de 2006, 04:40 »
0
Hola que tal, mira es que en el for each estás poniendo me.control y ps hace referencia a todos los controles  y en el caso de los controles dentro de groupbox ps no los detecta, en este caso tienes que colocar asi:

  Dim ctrl As TextBox
       For Each ctrl In GroupBox
           If ctrl Is TextBox Then
               Dim miTextBox As TextBox
               miTextBox = DirectCast(ctrl, TextBox)
               MsgBox(miTextBox.Name)
           End If
       Next

Espero q despues de In Groupbox no vaya naa porque no me acuerdo, pero mas o menos asi debes de colocar.  :hola:

Tumbes - Perú
Lima - Perú

-------------------------------------------------------------------------------------------------------
"Persigue tus metas, tus objetivos, tus sueños, nunca t rindas si t caes 1000 veces levantat 1000 veces y sigue adelante..."

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Controles En .net
« Respuesta #2 en: Sábado 4 de Noviembre de 2006, 04:52 »
0
pues si, yo quiero que haga referencia a todos los controles incluidos a los que estan dentro de un groupbox.

Ya habia intentau con lo que dijiste.
Citar
For Each ctrl In GroupBox
pero me sale error en in GroupBox.

GRACIAS.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Cajami

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Controles En .net
« Respuesta #3 en: Sábado 4 de Noviembre de 2006, 04:54 »
0
ps supongo que debes de poner despues de In GroupBox.Controls, lo haría en Visula pero recien lo voy a instalar mañan, pero se que si uno quiere hacer referencia a los controles dentro del groupbox ps se debe poner asi, haber prueba. :hola:

Tumbes - Perú
Lima - Perú

-------------------------------------------------------------------------------------------------------
"Persigue tus metas, tus objetivos, tus sueños, nunca t rindas si t caes 1000 veces levantat 1000 veces y sigue adelante..."

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Controles En .net
« Respuesta #4 en: Sábado 4 de Noviembre de 2006, 05:12 »
0
nada, no me sale !!!!!!!.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Controles En .net
« Respuesta #5 en: Sábado 4 de Noviembre de 2006, 05:15 »
0
ahora si, me salio.

ahi ta el codigo.

Código: Text
  1.  
  2.         Dim ctrl, ctrl2 As Control
  3.         For Each ctrl In Me.Controls
  4.             If (TypeOf (ctrl) Is GroupBox) Then
  5.                 Dim miGroup As GroupBox
  6.                 miGroup = DirectCast(ctrl, GroupBox)
  7.                 For Each ctrl2 In miGroup.Controls
  8.                     If (TypeOf (ctrl2) Is TextBox) Then
  9.                         Dim miTextBox As TextBox
  10.                         miTextBox = DirectCast(ctrl2, TextBox)
  11.                         MsgBox(miTextBox.Name)
  12.                     End If
  13.                 Next
  14.             End If
  15.  
  16.             If (TypeOf (ctrl) Is TextBox) Then
  17.                 Dim miTextBox As TextBox
  18.                 miTextBox = DirectCast(ctrl, TextBox)
  19.                 MsgBox(miTextBox.Name)
  20.             End If
  21.         Next
  22.  
  23.  

pero esto es solo para los textbox que estan en el formulario y sobre un groupbox, tendre que hacerlo tambien para los que estan dentro de un panel !!!.

Gracias por la ayuda Cajami.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Soultaker

  • Miembro HIPER activo
  • ****
  • Mensajes: 972
  • Nacionalidad: pe
    • Ver Perfil
Re: Controles En .net
« Respuesta #6 en: Lunes 6 de Noviembre de 2006, 05:49 »
0
Código: Text
  1.         Dim obj As Object
  2.         For Each obj In Me.Controls
  3.             If TypeOf obj Is TextBox Then obj.text = "ya ta"
  4.         Next
  5.         For Each obj In Me.GroupBox1.Controls
  6.             If TypeOf obj Is TextBox Then obj.text = "ya ta"
  7.         Next
  8.  
http]
foros,programacion, c, c++, java,
linux, videojuegos, directX, .NET,
visual basic,robotica,microprocesadores

Para los nuevos usuarios de este Foro, por favor leerse esta discusión.
Cómo Hacer Preguntas De Forma Inteligente

Ojos que no ven... pisan caquita
Camarón que se duerme... muere electrocutado


<<< Harol Moreyra Bendezú >>>

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Controles En .net
« Respuesta #7 en: Lunes 6 de Noviembre de 2006, 14:36 »
0
tambien me funciono muy bien tu codigo Soultaker.
Gracias.

Ahora que si estuviera hablando de un textbox que esta dentro de un GroupBox que esta dentro de otro GroupBox, tendria que hacerlo de forma recursiva !!!.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"