0
私はWindowsフォームアプリケーションのプログレスバーを更新しようとしています。これは、基本的には、YouTubeのビデオをダウンロードするアプリケーションです。ただし、プログレスバーメソッドで 'System.ArgumentOutOfRangeException'という例外が発生します。これを解決するのを手伝ってください。ありがとう! :)Windowsフォームアプリケーションのプログレスバー例外
private void button1_Click(object sender, EventArgs e)
{
progressBarOverall.Minimum = 0;
progressBarOverall.Minimum = 100;
IEnumerable<VideoInfo> videos = DownloadUrlResolver.GetDownloadUrls(textBox1.Text);
VideoInfo video = videos.First(p => p.VideoType == VideoType.Mp4 && p.Resolution == Convert.ToInt32(cboResolution.Text));//converts video quality
if(video.RequiresDecryption) //Checks if video requiures decryption before downloading the URL
DownloadUrlResolver.DecryptDownloadUrl(video);//
VideoDownloader downloader = new VideoDownloader(video, Path.Combine(Application.StartupPath + "//", video.Title + video.VideoExtension));
downloader.DownloadProgressChanged += Downloader_DownloadProgressChanged;
Thread thread = new Thread(() => { downloader.Execute(); }) { IsBackground = true };
thread.Start();
}
private void Downloader_DownloadProgressChanged(object sender, ProgressEventArgs e)
{
Invoke(new MethodInvoker(delegate()
{
progressBarOverall.Value = (int)e.ProgressPercentage;
percentagelabel.Text = $"{string.Format("{0:0.##}", e.ProgressPercentage)}%";
progressBarOverall.Update();
}));
}