backgroundWorker1
参照によって変数を更新するDLL を実行していますi
。を使用して進行状況バーを更新するi
には、次のコードを使用します。また、パーセンテージをテキストとして表示したいと思います。問題は、テキスト (進行状況バーではない) がちらつくことです。このちらつきを軽減/削除するにはどうすればよいですか? 睡眠時間を増やすことは選択肢ではありません。
BackgroundWorker backgroundWorker1 = new BackgroundWorker();
backgroundWorker1.WorkerReportsProgress = true;
backgroundWorker1.DoWork += (s, args) =>
{
Mydll.MyCFunction(ref i);
};
backgroundWorker1.RunWorkerAsync();
while (backgroundWorker1.IsBusy)
{
backgroundWorker1.ReportProgress(i * 100);
backgroundWorker1.ProgressChanged += (s, e) =>
{
progressBar1.Refresh();
progressBar1.Value = e.ProgressPercentage;
progressBar1.CreateGraphics().DrawString(e.ProgressPercentage.ToString() + "%",
SystemFonts.DefaultFont, Brushes.Black,
new PointF(progressBar1.Width / 2 - 10, progressBar1.Height / 2 - 7));
};
Application.DoEvents();
System.Threading.Thread.Sleep(200);
}
ありがとう。