Limpia cajas de texto

13/10/2005 - 10:47 por Hugo Gsell | Informe spam
Ya me han solucionado el problema con:
Public Sub LimpiaCajas(ByVal Form As Form)
Dim ll As String
For Each c As Control In Form.Controls
'If TypeOf c Is GroupBox Then
' For Each c1 As Control In c
' Next
'End If
If TypeOf c Is TextBox Then
DirectCast(c, TextBox).Text = ""
End If
Next
End Sub

El problema es que mis text estan (en un form en particular) en u
GroupBox... y a los elementos dentro del GroupBox el for each c... no los
recorre. Intenté como veran en las lineas comentadas ver si hay un grupo
recorrerlo por adentro... pero esto tiene 2 inconvenientes:
1) que me da error
2) y si hubiera grupos dentro de grupos!?!?!?
Desde ya muchas gracias

Preguntas similare

Leer las respuestas

#1 SoftJaén
13/10/2005 - 15:18 | Informe spam
"Hugo Gsell" escribió:

El problema es que mis text estan (en un form en particular) en u
GroupBox... y a los elementos dentro del GroupBox el for each c...
no los recorre.



Hola, Hugo:

El control «GroupBox» dispone de una colección «Controls», la cual puedes
recorrerla para limpiar el texto de los controles TextBox:

Public Sub LimpiaCajasGroupBox(ByVal gb As GroupBox)

Dim ctl As Control

For Each ctl In gb.Controls
If TypeOf ctl Is TextBox Then
ctl.Text = ""
End If
Next

End Sub

Simplemente, llamarías al procedimiento de la siguiente manera:

LimpiaCajasGroupBox(Me.GroupBox1)

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 Eduardo A. Morcillo [MS MVP VB]
13/10/2005 - 15:39 | Informe spam
Tambien puede hacerse una funcion recursiva que limpie todos los TextBox:

Public Sub LimpiaCajas(ByVal ctrlPadre As Control)

For Each ctrl As Control In ctrlPadre.Controls

If TypeOf ctl Is TextBox Then
ctrl.Text = ""
Else
LimpiaCajas(ctrl)
End If

Next

End Sub

Y entonces lo llamarias con:

LimpiaCajas(Me) ' El formulario tambien es un Control!

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#3 SoftJaén
13/10/2005 - 15:53 | Informe spam
"Eduardo A. Morcillo [MS MVP VB]" escribió:

Tambien puede hacerse una funcion recursiva que limpie todos
los TextBox:



Hola, Eduardo:

Por supuesto que se puede hacer también, verificando si el contenido de la
variable «ctrl» es del tipo «TextBox». :-)

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida