VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
<< 前のTips 次のTips >>
バックグラウンド操作にパラメータを渡すには、RunWorkerAsyncメソッドの引数で値を指定します。この値はDoWorkイベントの引数e.Argumentで取得することができます。
サンプルではRunWorkerAsyncメソッドで整数値100を渡し、受け取った値をForのループ数として使用しています。
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '進捗状況を報告できるようにする Me.BackgroundWorker1.WorkerReportsProgress = True 'キャンセルを Me.BackgroundWorker1.WorkerSupportsCancellation = True 'プログレスバーの初期化 Me.ProgressBar1.Minimum = 0 Me.ProgressBar1.Maximum = 100 End Sub 'バックグランド処理実行用ボタンクリック時の処理 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '進捗状況の初期化 Me.ProgressBar1.Value = 0 'バックグラウンド操作の実行を開始する Me.BackgroundWorker1.RunWorkerAsync(100) End Sub Private Sub BackgroundWorker1_DoWork( _ ByVal sender As Object, _ ByVal e As System.ComponentModel.DoWorkEventArgs) _ Handles BackgroundWorker1.DoWork For I As Integer = 0 To CInt(e.Argument) '処理中にキャンセルされていないかを定期的にチェックする If Me.BackgroundWorker1.CancellationPending Then e.Cancel = True Return End If '進捗状況の報告 Me.BackgroundWorker1.ReportProgress(I) System.Threading.Thread.Sleep(100) Next End Sub
<< 前のTips 次のTips >>