public static void CalculateAttributions(BackgroundWorker worker, string _filename, ComboBox cmb, OpenFileDialog open)
{
worker = new BackgroundWorker { WorkerReportsProgress = true };
while (wave.Position != length)
{
...Process..
worker.ReportProgress((100 * (int)(length / wave.Position)) / (int)(length / mainBuffer.Length));
}
}
このメソッドをクラスに記述して計算を実行しBackgroundWorker
、パラメータとして使用してProgressbar
during ループを表示しました。ただし、このメソッドを実行するとForm.cs
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = Math.Min(e.ProgressPercentage, 100);
}
このイベントは機能していないため、ProgressBar
値は変更されません。どうすればそれを機能させることができますか?