none
Hilos (Thread) y ProgressBar

    Pregunta

  • Hola buenas tardes, e investigado como hacer llamadas de forma segura a los controles con el objeto thread, quiero saber como hacer para reportar ese progreso aun progressbar, por ejemplo:

    Existen aplicaciones que se guardan por seguridad con un thread y ese guardado lo notifican a un progressbar, me imagino que usan un hilo por que la aplicación sigue funcionando.

    Si el número de registros que se van a guardar son 300 como podría notificar el avance del guardado al usuario con un progressbar, gracias por su ayuda.

    Saludos...

    miércoles, 15 de marzo de 2017 18:51

Respuestas

  • Para que resulte sencillo reportar el progreso, lo mejor es usar un componente BackgroundWorker para lanzar el Thread. Dentro del DoWork del BackgroundWorker, tienes que llamar periódicamente al método ReportProgress del BackgroundWorker. Por ejemplo, si los 300 registros los grabas con un bucle, en el bucle vas incrementando un contador para saber qué número de registro se está grabando, y entonces a cada iteración del bucle llamas a ReportProgress pasándole el número de registro dividido por 300 y multiplicado por 100 para indicar el porcentaje de progreso.

    Y fuera del hilo, conectas un manejador para el evento ProgressChanged del BackgroundWorker, y el valor de porcentaje que recibas se lo aplicas al ProgressBar.

    miércoles, 15 de marzo de 2017 23:29