ユーザーがそのフォルダのチェックボックスをオンにしている場合、別の場所にいくつかのフォルダをコピーするコードがあります。バックグラウンドワーカーのプログレスバー
私はバックグラウンドワーカーとプログレバーを持っています。私はこのサイト上でもMSDNの人々が
for (int i = 0; i <= 100; i++)
{
// Report progress to 'UI' thread
backgroundWorker1.ReportProgress(i);
// Simulate long task
System.Threading.Thread.Sleep(100);
}
これは、すべての罰金と私はそれがどのように動作するかのアイデアを得るとプログレスバーを更新するために、同じ例を示していることがわかります。しかし、私が把握できないことは、チェックボックスを実装して、フォルダがチェックされていればそれをコピーし、次にチェックボックスの数に応じてプログレスバーを更新することです。私はチェックボックスを数え、それをprgbarmaxに割り当てた。
private void backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
for (int i = 0; i < prgbarmax; i++)
{
int step = (i/prgbarmax) * 100;
if (test1)
{
//do the copy here
backgroundWorker1.ReportProgress(i);
}
if (tes2)
{
//do the copy here
backgroundWorker1.ReportProgress(i);
}
if (test3)
{
//do the copy here
backgroundWorker1.ReportProgress(i);
}
.... so on
}
}
WPFまたはWindowsフォームを使用していますか? – Transcendent
コピーするフォルダのリストを作成し、forループの各繰り返しで1つのフォルダのみをコピーする必要があります。コードの問題は、1回の繰り返しですべてのフォルダをコピーしようとしたことです。 – kennyzx
@kennyzx私は非常にC#で新しく、コードとして学習しようとしています。コード例を教えていただけますか? – Besiktas