Pregunta

Estoy descargando una colección de archivos, y me gustaría mostrar el progreso en una barra de progreso. Es simple mostrar el progreso general al establecer el valor máximo de la barra de progreso al tamaño total de todos los archivos y al establecer la posición actual al tamaño descargado hasta ahora.

Lo que me gustaría hacer es separar la barra de progreso en segmentos, y cada sección representa un archivo diferente en la colección.

¿Es esto posible? ¿Cómo lo haría?

¿Fue útil?

Solución

Si conoce el tamaño total de los archivos que se descargarán y conoce el tamaño total de los archivos descargados hasta ahora, puede establecer. Máximo al tamaño total de los archivos y .Posición al total descargado hasta ahora. No tiene que preocuparse por cómo se divide el tamaño entre los archivos.

¿O quiso decir que quiere marcas de verificación en la barra de progreso de acuerdo con el tamaño de cada archivo?

Otros consejos

Creo que la forma más sencilla sería hacer un UserControl, colocar una Barra de progreso en él, anular el OnPaint () del UserControl y dibujar sus líneas.

Creo que un UserControl sería un poco más fácil de manejar que dibujar directamente en el formulario. Las coordenadas serían más fáciles de manejar y sería más fácil reutilizarlo en otra aplicación.

Establezca el valor máximo en 100. Luego, para cada archivo que se descargue, haga 100 * (tamaño de archivo / total_descargado) y agréguelos. Una vez que haya agregado el valor de ellos, establezca el valor de la barra de progreso. Actualice el valor cada vez que finalice la descarga de un archivo.

Puede usar dos barras de progreso una para cada archivo y otra para el total. O si quieres marcas de verificación: la solución simple es agregar algunas líneas debajo o sobre esa barra.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top