VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
<< 前のTips 次のTips >>
バックグラウンド操作にパラメータを渡すには、RunWorkerAsyncメソッドの引数で値を指定します。この値はDoWorkイベントの引数e.Argumentで取得することができます。
サンプルではRunWorkerAsyncメソッドで整数値100を渡し、受け取った値をforのループ数として使用しています。
private void Form1_Load(object sender, EventArgs e) { //進捗状況を報告できるようにする this.backgroundWorker1.WorkerReportsProgress = true; //バックグラウンド操作をキャンセルできるようにする this.backgroundWorker1.WorkerSupportsCancellation = true; //プログレスバーの初期化 this.progressBar1.Minimum = 0; this.progressBar1.Maximum = 100; } //バックグランド処理実行用ボタンクリック時の処理 private void button1_Click(object sender, EventArgs e) { //進捗状況の初期化 this.progressBar1.Value = 0; //バックグラウンド操作の実行を開始する this.backgroundWorker1.RunWorkerAsync(100); } private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { //バックグラウンドで実行する処理をここに記述します for (int i = 0; i < (int)e.Argument; i++) { //処理中にキャンセルされていないかを定期的にチェックする if (this.backgroundWorker1.CancellationPending) { e.Cancel = true; return; } //進捗状況の報告 this.backgroundWorker1.ReportProgress(i); System.Threading.Thread.Sleep(100); } }
<< 前のTips 次のTips >>