Visual Basic.NET - Progressbar que se detiene al procesar un fichero

   
Vista:

Progressbar que se detiene al procesar un fichero

Publicado por Oscar (2 intervenciones) el 20/09/2009 16:46:40
Hola todas,

Estoy tratando de mostrar un progressbar mientras proceso un fichero de unas 5 millones de líneas (el proceso suele durar enre 5 y 10 segundos).

Sin embargo en el momento que comienza la lectura del fichero la barra de progreso se detiene y no continúa hasta que finaliza dicha lectura.

He probado incluso a activar el progressbar antes de comenzar el procesado pero también se detiene.

Es como si la operación sobre el fichero es tan masiva que anula cualquier otra cosa en el formulario.

¿Sabéis alguna solución?.

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Progressbar que se detiene al procesar un fiche

Publicado por JoanF (129 intervenciones) el 21/09/2009 04:31:54
Hola,

Si el proceso es muy intensivo y se realiza en el thread principal de la aplicación, entonces lo que sucede es que el thread principal no tiene tiempo para actualizar el dibujo del progress bar hasta que el proceso ha terminado.

Habrían dos soluciones:

- Mover el procesado del archivo a un thread secundario que notificara al thread principal el estado de la carga para actualizar el progressbar.
- En el momento de actualización del progressbar forzar un re-dibujado del control progress bar o bien de todo el formulario con el método Refresh (o bien con invalidate=true y Update)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar