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());
}
}
});
// предполагается что ваш сервис скачивает асинхронно, и после скачивания части файла вызывает это событие
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;
}