Armar dinámicamente una winforms

31/05/2005 - 20:32 por wilson | Informe spam
Saludos a todos:

Tengo un proyecto en windows forms el cual cada campo de
la pantalla va acompañado de una etiqueta cuyo texto se
consulta en una base de datos y cuando carga la ventana
construye un objeto etiqueta, setea el texto, la
ubicación y lo despliega junto al control de ingreso de
datos. Esto para lograr tener un único proyecto y solo
configurar el texto de cada campo en cada empresa en
donde se instale el proyecto si es que desean llamra de
una forma diferente a un item de la pantalla.

Esto funciona, pero quisiera que la consulta a la base de
datos se lo haga solo la primera vez, luego de esto
quisiera ver la posibilidad de guardar la configuración
de la pantalla localmente y que a la segunda ocasión lea
ese archivo y configure la pantalla tal cual la primera
vez. Lo que prentendo es que solo la primera vez se
demore entre 10 a 15 segundos pero después de esto sea
cuestión de 3 o 5 segundos.

Les agradesco la ayuda que me puedan brindar.

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
31/05/2005 - 21:34 | Informe spam
Wilson,

Una posible técnica es almacenar estos valores de configuración en el
Registro de Windows una vez que los generas. En los posteriores accesos los
tomas de ahí...

Aquí hay un ejemplo de cómo leer y escribir en el Registro:

http://msdn.microsoft.com/library/d...sTopic.asp

Slds,

Octavio

"wilson" escribió en el mensaje
news:007e01c5660f$13c6b7a0$
Saludos a todos:

Tengo un proyecto en windows forms el cual cada campo de
la pantalla va acompañado de una etiqueta cuyo texto se
consulta en una base de datos y cuando carga la ventana
construye un objeto etiqueta, setea el texto, la
ubicación y lo despliega junto al control de ingreso de
datos. Esto para lograr tener un único proyecto y solo
configurar el texto de cada campo en cada empresa en
donde se instale el proyecto si es que desean llamra de
una forma diferente a un item de la pantalla.

Esto funciona, pero quisiera que la consulta a la base de
datos se lo haga solo la primera vez, luego de esto
quisiera ver la posibilidad de guardar la configuración
de la pantalla localmente y que a la segunda ocasión lea
ese archivo y configure la pantalla tal cual la primera
vez. Lo que prentendo es que solo la primera vez se
demore entre 10 a 15 segundos pero después de esto sea
cuestión de 3 o 5 segundos.

Les agradesco la ayuda que me puedan brindar.
Respuesta Responder a este mensaje
#2 Alfredo Novoa
31/05/2005 - 21:57 | Informe spam
On Tue, 31 May 2005 11:32:19 -0700, "wilson"
wrote:

Esto funciona, pero quisiera que la consulta a la base de
datos se lo haga solo la primera vez, luego de esto
quisiera ver la posibilidad de guardar la configuración
de la pantalla localmente



Pues es muy fácil. Utiliza una base de datos local.

y que a la segunda ocasión lea
ese archivo y configure la pantalla tal cual la primera
vez. Lo que prentendo es que solo la primera vez se
demore entre 10 a 15 segundos pero después de esto sea
cuestión de 3 o 5 segundos.



Eso es muchísimo tiempo. Debería hacerse en centésimas de segundo.


Saludos
Respuesta Responder a este mensaje
#3 Tristan
31/05/2005 - 21:57 | Informe spam
Otra posibilidad completamente distinta, con la que conseguirías la máxima
velocidad, es construir tu formulario a base de generar el código C# de la
clase en tiempo de ejecución. Algo similar a lo que hace el diseñador de
windows forms, aunque una escala mucho más simple. Se puede partir del
código ya escrito, y parametrizar las propiedades de los controles, o los
controles mismos.

Una vez generada la clase del formulario C#, esta se puede compilar "al
vuelo". La compilación es muy rápida. El ensamblado resultante de la
compilación se puede guardar y utilizar desde tu proyecto.

Para compilar al vuelo una clase C#, escribí hace años una clase que
simplificaba considerablemente el proceso, si quieres puedo volver a
exponerla por aquí. Si por el contrario decides utilizar tu propio código,
busca información sobre el método CreateCompiler de la clase
CSharpCodeProvider.

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#4 Roberto Alvarado
01/06/2005 - 01:21 | Informe spam
Hola Juan Carlos

Puedes exponer esa clase aqui? seria muy interesante ...

Gracias

Roberto Alvarado

"Tristan" escribió en el mensaje
news:
Otra posibilidad completamente distinta, con la que conseguirías la máxima
velocidad, es construir tu formulario a base de generar el código C# de la
clase en tiempo de ejecución. Algo similar a lo que hace el diseñador de
windows forms, aunque una escala mucho más simple. Se puede partir del
código ya escrito, y parametrizar las propiedades de los controles, o los
controles mismos.

Una vez generada la clase del formulario C#, esta se puede compilar "al
vuelo". La compilación es muy rápida. El ensamblado resultante de la
compilación se puede guardar y utilizar desde tu proyecto.

Para compilar al vuelo una clase C#, escribí hace años una clase que
simplificaba considerablemente el proceso, si quieres puedo volver a
exponerla por aquí. Si por el contrario decides utilizar tu propio código,
busca información sobre el método CreateCompiler de la clase
CSharpCodeProvider.

Juan Carlos Badiola
MVP - C#

Respuesta Responder a este mensaje
#5 Wilson
01/06/2005 - 18:35 | Informe spam
Juan Carlos

Por favor si puedes exponer esta clase

Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida