Colecciones de controles

02/06/2005 - 11:58 por yego | Informe spam
Hola de nuevo a todos.
Hoy el problema que se me plantea es el siguiente.
Estoy diseñando un formulario base al cual quiero añadir un metodo para
poder recoger los datos de ciertos controles (mis propios controles) de
forma dinamica. La idea que se me ha ocurrido es recorrerme todos los
controles que tenga el formulario e ir comprobando que se tratan de cada uno
de los tipos de mis controles. El caso es que me encuentro con la dificultad
de no poder acceder a la coleccion de controles del formulario y a ninguna
de las propiedades que en todos son distitas.

Alguna solucion mas practica?


Chas gracias.

Preguntas similare

Leer las respuestas

#1 Fernán Castro Asensio
02/06/2005 - 12:16 | Informe spam
Has recorrido las coleccions de this.Controls?


"yego" escribió en el mensaje
news:
Hola de nuevo a todos.
Hoy el problema que se me plantea es el siguiente.
Estoy diseñando un formulario base al cual quiero añadir un metodo para
poder recoger los datos de ciertos controles (mis propios controles) de
forma dinamica. La idea que se me ha ocurrido es recorrerme todos los
controles que tenga el formulario e ir comprobando que se tratan de cada
uno
de los tipos de mis controles. El caso es que me encuentro con la
dificultad
de no poder acceder a la coleccion de controles del formulario y a ninguna
de las propiedades que en todos son distitas.

Alguna solucion mas practica?


Chas gracias.


Respuesta Responder a este mensaje
#2 yego
02/06/2005 - 12:29 | Informe spam
Si lo he recorrido todos los controles (aqui se plantea otro problema que es
que hay controles contenedores de otros controles) y lo que ocurre es que no
puedo acceder a cada una de las propidades de los controles
X ejemplo: 'System.Windows.Forms.Control' no contiene una definición para
'strText'

y asi con cada una de las propiedades por cada uno de los controles que
tengo (todos con propiedades con distinto nombre).

"Fernán Castro Asensio" escribió en el mensaje
news:
Has recorrido las coleccions de this.Controls?


"yego" escribió en el mensaje
news:
> Hola de nuevo a todos.
> Hoy el problema que se me plantea es el siguiente.
> Estoy diseñando un formulario base al cual quiero añadir un metodo para
> poder recoger los datos de ciertos controles (mis propios controles) de
> forma dinamica. La idea que se me ha ocurrido es recorrerme todos los
> controles que tenga el formulario e ir comprobando que se tratan de cada
> uno
> de los tipos de mis controles. El caso es que me encuentro con la
> dificultad
> de no poder acceder a la coleccion de controles del formulario y a


ninguna
> de las propiedades que en todos son distitas.
>
> Alguna solucion mas practica?
>
>
> Chas gracias.
>
>


Respuesta Responder a este mensaje
#3 Fernán Castro Asensio
02/06/2005 - 12:58 | Informe spam
Si lo he recorrido todos los controles (aqui se plantea otro problema que
es
que hay controles contenedores de otros controles) y lo que ocurre es que
no
puedo acceder a cada una de las propidades de los controles
X ejemplo: 'System.Windows.Forms.Control' no contiene una definición para
'strText'



Que tal si recorres los objetos de la coleccion Control recogiendolos como
'System.Windows.Forms.Control y consultas el valor de GetType() de cada uno
y en funcion del resultado les haces un cast a su tipo específico, para
poder acceder a la propiedad adecuada en cada caso.

Los objetos contenedores de controles tambien tienen la colección Controls
así que tendras que recorrerlos tambien.

Espero que te sea de ayuda.
Respuesta Responder a este mensaje
#4 Guillermo guille
02/06/2005 - 13:03 | Informe spam
si lo que quieres es manipular solo tus controles (o controles de un tipo
determinado), puedes hacer una comprobación del tipo "si el control es de este
tipo entonces hago lo que tenga que hacer" de esa forma podrás acceder a las
propiedades que quieras (ya que se supone que esa propiedad está en
determinados controles).

En cuanto a los controles que contienen otros controles, puedes hacer un método
recursivo, de forma que si el control tiene más controles, lo mandes al método
que los analiza (el mismo método desde el que lo estás comprobando).

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Te invito a mi sitio dedicado al VB y más...
http://www.elguille.info/
http://www.mundoprogramacion.com/
(puede que el correo usado sea anti-spam)


"yego" wrote in message
news:O%
Si lo he recorrido todos los controles (aqui se plantea otro problema que es
que hay controles contenedores de otros controles) y lo que ocurre es que no
puedo acceder a cada una de las propidades de los controles
X ejemplo: 'System.Windows.Forms.Control' no contiene una definición para
'strText'

y asi con cada una de las propiedades por cada uno de los controles que
tengo (todos con propiedades con distinto nombre).

"Fernán Castro Asensio" escribió en el mensaje
news:
Has recorrido las coleccions de this.Controls?


"yego" escribió en el mensaje
news:
> Hola de nuevo a todos.
> Hoy el problema que se me plantea es el siguiente.
> Estoy diseñando un formulario base al cual quiero añadir un metodo para
> poder recoger los datos de ciertos controles (mis propios controles) de
> forma dinamica. La idea que se me ha ocurrido es recorrerme todos los
> controles que tenga el formulario e ir comprobando que se tratan de cada
> uno
> de los tipos de mis controles. El caso es que me encuentro con la
> dificultad
> de no poder acceder a la coleccion de controles del formulario y a


ninguna
> de las propiedades que en todos son distitas.
>
> Alguna solucion mas practica?
>
>
> Chas gracias.
>
>






Respuesta Responder a este mensaje
#5 yego
02/06/2005 - 16:41 | Informe spam
Gracias Fernán, ahora estoy recorriendo así los controles pero sigo teniendo
problemas. Tal vez este haciendo algo mal, bueno, tal vez, seguro!. El caso
es que ahora en la compilacion me da un error por cada uno de los controles
que intento controlar; me dice que System.Windows.Forms.Control no tiene una
definicion para <cada una de las propiedades a las que intento acceder de
cada uno de los controles>.

He hecho una interface comun para obtener el mismo tipo de valor y con el
mismo nombre, pero no avanzo.

Siento hacerte perder el tiempo y te agradezco un monton la molestia que te
tomas.

"Fernán Castro Asensio" escribió en el mensaje
news:
> Si lo he recorrido todos los controles (aqui se plantea otro problema


que
> es
> que hay controles contenedores de otros controles) y lo que ocurre es


que
> no
> puedo acceder a cada una de las propidades de los controles
> X ejemplo: 'System.Windows.Forms.Control' no contiene una definición


para
> 'strText'

Que tal si recorres los objetos de la coleccion Control recogiendolos como
'System.Windows.Forms.Control y consultas el valor de GetType() de cada


uno
y en funcion del resultado les haces un cast a su tipo específico, para
poder acceder a la propiedad adecuada en cada caso.

Los objetos contenedores de controles tambien tienen la colección Controls
así que tendras que recorrerlos tambien.

Espero que te sea de ayuda.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida