none
Recorrer todos los controles de los formularios. RRS feed

  • Pregunta

  • Quiero recorrer todos los controles de todos los formularios que tengo en el proyecto, y después cargarlos en una Combo.

     

    El asunto es que estos frm no están en memoria y no se como instanciarlos. 

     

    No lo quiero cargar en memoria, ya éstos ocuparían mucho espacio y tardaría la ejecución.

     

    Muchas gracias a todos de antemano.

    martes, 19 de julio de 2011 12:19

Todas las respuestas

  • Grost pero podrías explicar para qué deseas hacer esto?
    martes, 19 de julio de 2011 18:32
  •  

     Te explico más o menos.

     Quiero dar la posibilidad de hacer procesos programados en mi programa. Es decir, que un usuario marque unos pasos que tiene que hacer el programa, y que los ejecute a la noche, o a la tarde, cuando él no esté presente.

     

     Para ello quiero gestionar TODOS los controles que tengan las ventanas. Para que así el usuario marque en plan...

     PASO 1 : Control Extracción de informes

     PASO 2 : Sacar Informe de Productividad.

     

     No sé si me llego a explicar guarracuco, pero esa es la idea.

     Entonces, lo que quiero es que en la ventana de gestión de controles (para darlos de alta), me aparezca un combo con las ventanas del programa, y al seleccionar una, que me apararezcan todos los controles de esa ventana (de forma dinámica, claro está).

     Un saludo y gracias por el interés!

     

     

    miércoles, 20 de julio de 2011 6:30
  • Para recorrer la colección de forms, deben estar cargados. Ahora, veo mas lógico que generes una tabla con una lista de procesos y que el usuario realize su menú en base a esta lista.

    id Nombre Descripcion marcar
    1 act_saldos Actualización de saldos deudores <input id="uno" type="checkbox" value="true" />
    2 rem_sms Eliminar mensajes leídos <input id="dos" type="checkbox" value="false" />

    miércoles, 20 de julio de 2011 9:53
  •  

    Ña, no era eso lo que quería hacer.

     

    Pero bueno, ya lo estoy haciendo con otra lógica.

     

    Muchas gracias por todo eh guarracuco.

     

    Un saludo.

    jueves, 21 de julio de 2011 9:49
  • Hola Grost, estaria  bien que compartieras la otra lógica que has utilizado recuerda que puede que le sirva a otros desarrolladores ;-).

    El planteamiento que haces de no cargar en memoria los formularios (es decir instanciarlo) y saber los controles que tiene de forma dinámica sería ideal, yo en mi caso no sabría hacerlo...  ahora bien te propongo una solución pero no cumple todos tus requisitos...ya que necesitas cargar en memoria el formulario que estas recorriendo para obtener sus controles. esto lo haría por medio de reflection..

    Imaginate que tu usuario necesita programar un proceso de la ventana Control de Extracciones de Informes, con lo que necesita saber que controles contiene esta ventana, aqui es cuando usamos Reflection , buscando en nuestro propio ensamablado,  e invocamos en el formulario de forma dinámica pero sin hacerlo visible... una vez que temernos el formulario instacionado tenemos sus controles basta con descartar aquellos que no cumpla los requisitos por ejemplo o mostrarlo todos como tu prefieras...

    En internete hay millones de ejemplos de reflection ;-), si necesitas ayuda comentamelo y te hago un ejemplo simple...

    Buenos tan solo es otra forma de plantearlo... 

     

    Saludos.


    Danicuco - 2011
    jueves, 21 de julio de 2011 16:54