llamar a metodos desde System.Controls

09/02/2007 - 13:46 por Xuri | Informe spam
Hola, mirad, tengo una clase llamada "formulario" en la cual todos los
mantenimientos ( clientes, articulos, etc ) son derivados de ella.

Ahora bien en esta clase "formulario" tengo por ejemplo esto:

foreach ( System.controls ctrl in this.controls )
{
ctrl.Enabled=false;

}

y funciona pero me interesa tambien poder hacer algo asi:

foreach ( System.controls ctrl in this.controls )
{
if (ctrl.GetType().ToString() == "facturacion.clases.clase_en_concreto"){

ctrl.propiedad_cualquiera="";

}


}

Pero claro, me da error porque no es una propiedad de objeto, sino una
propiedad de esa clase exclusivamente.

Como puedo hacerlo?

Gracias. Un saludo

Preguntas similare

Leer las respuestas

#1 Juan Diego Bueno
09/02/2007 - 14:25 | Informe spam
Si creo haberte entendido... y te refieres a que el problema lo tienes
con gettype, utiliza el operador is:

if (ctrl is facturacion.clases.clase_en_concreto)

Saludos

On 9 feb, 13:46, Xuri wrote:
Mostrar la cita
#2 Alberto Poblacion
09/02/2007 - 16:14 | Informe spam
"Xuri" wrote in message
news:
Mostrar la cita
Tienes que hacer un "cast" para convertir el objeto en la clase deseada.
Por cierto, para comprobar el tipo de objeto es mejor usar el operador "is"
en lugar de comparar como string el nombre del Tipo:

foreach (System.Control ctrl in this.controls)
{
if (ctrl is facturacion.clases.clase_en_concreto)
{
((facturacion.clases.clase_en_concreto)ctrl).propiedad_cualquiera="";
}
}
#3 Xuri
09/02/2007 - 19:04 | Informe spam
muchisimas gracias a los dos, de verdad.. voy a probar.

"Alberto Poblacion" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida