Recorrer controles de un formulario

01/02/2005 - 21:23 por BPerez | Informe spam
Hola a todos, quisiera recorrer los controles de un formulario y según su
tipo hacer una cosa con ellos u otra.
En este caso a los TextBox hacerlos de sólo lectura.
Cuando intento hacer algo como

Sub cambia_modo(ByVal estado As Char, ByVal formulario As Control)

Dim ctl As Control
For Each ctl In formulario.Controls
If TypeOf ctl Is System.Windows.Forms.TextBox Then

ctl.readonly = True
End If

Pero me dice que readonly no es un miembro de ctl.
¿Que hago mal?
Gracia sa todos por vuestra ayuda
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
01/02/2005 - 21:29 | Informe spam
ReadOnly no es un metodo de la clase Control sino de TextBox (mas
exactamente TextBoxBase). Para poder acceder a ella necesitas una referencia
a esa clase por lo que deberas usar un CType o DirectCast para obtenerla:

If TypeOf ctl Is System.Windows.Forms.TextBox Then
CType(ctl, System.Windows.Forms.TextBox).Readonly = True
End If

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo

Existen dos maneras de ser feliz en esta vida;
una es hacerse el idiota y la otra serlo.
Sigmund Freud

Preguntas similares