Saber si una ventana se ha cargado ¿como?

04/01/2005 - 14:35 por Luis | Informe spam
Hola que tal,

trato de saber lo siguiente, tengo que hacer una carga de datos que lleva un
poco de tiempo, y he creado un winform que pne un mensaje en pantalla, y me
gustaría cargarlo y que se muestre hasta que se acabe el proceso de carga de
datos. Ahora mismo simplemente habro el nuevo winform antes de empezar la
carga, pero no me lo llega a mostrar, entonces la pregunta, hay alguna otra
forma de hacer eso SIN usar Thread?? simplemente necesitaría que se cargue
del todo el winform y que siga con el resto el sistema.

O alguna otra forma de mostrar información de que el proceso se va
realizando... lo que quiero es que el cliente sepa que se está ejecutando
algo.

Un saludo
 

Leer las respuestas

#1 pablo crosio
04/01/2005 - 15:35 | Informe spam
hola!

si no vas a trabajar con threads no deberias cargar el formulario y correr
el proceso en el evento Load si es que ahora lo haces asi. puesto que
hasta que no termine el proceso el formulario no se desplegara

una alternativa a utilizar threads es hacer uso de Application.DoEvents()
cada cierto tiempo dentro del thread que realiza el proceso, por ejemplo:

ciclo del proceso
cada cierto tiempo o % de proceso hacer Application.DoEvents()

procesar

fin ciclo

esto permite a Windows procesar los mensajes pendientes como pulsaciones del
mouse, etc... si no haces esto, el formulario quedaria como "petrificado"
hasta la finalizacion del proceso...

de todas formas te recomiendo que todo lo que debas hacer en segundo plano y
no necesite de interfaz de usuario, lo corras en un thread aparte

salu2!!

pablo


"Luis" escribió:

Hola que tal,

trato de saber lo siguiente, tengo que hacer una carga de datos que lleva un
poco de tiempo, y he creado un winform que pne un mensaje en pantalla, y me
gustaría cargarlo y que se muestre hasta que se acabe el proceso de carga de
datos. Ahora mismo simplemente habro el nuevo winform antes de empezar la
carga, pero no me lo llega a mostrar, entonces la pregunta, hay alguna otra
forma de hacer eso SIN usar Thread?? simplemente necesitaría que se cargue
del todo el winform y que siga con el resto el sistema.

O alguna otra forma de mostrar información de que el proceso se va
realizando... lo que quiero es que el cliente sepa que se está ejecutando
algo.

Un saludo



Preguntas similares