Progress y ProgressBar

Iniciado por rigorvzla, 9 Octubre 2020, 06:56 AM

0 Miembros y 1 Visitante están viendo este tema.

rigorvzla

Buenas noches, les escribo por un problema que no eh podido solucionar, espero puedan ayudarme, estoy utilizando una libreria para bajar videos de youtube, esto esta perfecto, el problema empieza , cuando quiero descargar y en el metodo de descarga, asigno el progress y su correspondiente progressbar pero el valor que carga es minimo , llega al 1% pero en efecto descarga el archivo, probe con una etiqueta y funciono bien , me va marcndo del 0 al 100% pero no me sirve con el progressbar.

Dejo el codigo que tengo hecho
var progressLabel = new Progress<double>(p => lab.Content = $"{p:P0}");
          var progressBarra = new Progress<double>(p => Bar.Value = p);


Espero puedan ayudarme y decirme q hace falta para acomodarlo.
PD: es como si cargara la barra con un valor de 0.00000001 hasta el 1, gracias de antemano.

Serapis

Primero debes establecer las propiedades:
Minimun y Maximun, no solo Value.

Y después, en el evento de recepción actualizas la propiedad value.
Si el componente de 3ºs proporciona dicho valor en el rango 0-99 (o  1-100), perfecto, si en cambio proporciona el valor transferido (cantidad total de bytes recibidos), debes hacer el cálculo manual para saber a qué porcentaje corresponde dicho valor. Para ello es de suponer que al establece rla conexión en la petición de descarga, devuelve un parámetro u disparará une vento que notifique el tamaño total (necesario para calcular el procentaje).
Si no se proporciona en ningún momento un valor yotal del fichero, es imposible saber el procentaje si el dato proporcionado es la cantidad total descargada...

Si todo te funciona bien, es probabe que el problema sea simplemente lo primero, las propiedad Minimun y Maximun tienen el mismo valor que Value, en vez de 1-100 (ó 0-99, ó 0-100).

rigorvzla

en efecto el valor ya preestablecido minimo era 0 igual al del "value" , el maximo si estaba en 100, mas probando y leyendo me percate q el calculo era de 0,0 a 0,1 y se me ocurrio multiplicar el value * 100 y asunto resuelto , de todos modos probare cambiando el valor minimo a 1 , gracias nuevamente por la ayuda prestada