Задать вопрос
@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());
                    }
                }
            });

Как в данном случае использовать прогресс бар?
  • Вопрос задан
  • 151 просмотр
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 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;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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