@Anton_repr

Как использовать прогресс бар?

Я сделал грузчик роликов с ютуба, но не получается реализовать работу прогресс бара.
progressBar1.Value = 0;
            await Task.Run(() =>
            {
                using (var service = Client.For(YouTube.Default))
                {
                    while (true)
                    {
                        var video = service.GetVideo(link_tb.Text);
                        string path = Path.Combine(save_tb.Text, video.FullName);
                        File.WriteAllBytes(path, video.GetBytes());
                    }
                }
            });

Как в данном случае использовать прогресс бар?
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
// предполагается что ваш сервис скачивает асинхронно, и после скачивания части файла вызывает это событие
service.DownloadChunk += ChunkProcess;
private void ChunkProcess(object sender, int size)
{
    // обязательно проверьте в каком потоке обновляете UI
   // https://docs.microsoft.com/ru-ru/dotnet/framework/winforms/controls/how-to-make-thread-safe-calls-to-windows-forms-controls?view=netcore-3.1
    progressBar1.Value += size;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы