MetaC#: Acceso a los componentes de un formulario.

24/11/2005 - 17:18 por José Luis | Informe spam
Hola a todos.

Estoy intentando definir un fichero de configuración xml para, a partir
de él, modificar las propiedades de los objetos que se encuentren en 1
formulario. Esto ya lo he conseguido, pero mi gran sorpresa ha sido ver cómo
determinados controles no se añaden a la lista de controles del formulario,
que no heredan de System.ComponentModel.Component.Control, sino que
provienen de System.ComponentModel.Component...
He visto que el formulario tiene un atributo privado que es un
contenedor de componentes... vale. Soy capaz de recorrer este array y ver
todos los componentes que contiene, pero... ¿cómo sé el nombre que tiene
cada uno de los componentes del array?


Por ejemplo, estoy accediendo a un objeto Timer, de la siguiente manera:

int i =0;
System.ComponentModel.IComponent c = this.components.Components[i];

/* Esto no funciona:

string ctlname = "timerPeso";

System.ComponentModel.IComponent c = this.components.Components[ctlname];

*/

PropertyInfo pi = c.GetType().GetProperty("Interval");

pi.SetValue(c,Convert.ChangeType(Valor,pi.PropertyType),null);



El problema es que al acceder por nombre al array de componentes, el sistema
me devuelve null...

¿Cómo puedo acceder al nombre que le doy al componente al diseñar el
formulario????





Gracias
 

Preguntas similares