プログレスバーの使い方
プログレスバーは、アプリケーションが何かの処理中であることをユーザに知らせてあげるという役割を持っている。時間がかかる処理などの場合にその進行状況をプログレスバーのアニメーションで明示することで、ユーザに安心感を与えることができる・・・かもしれない。
自分なりにプログレスバーの使い方を調べてみたところ、どうやらプログレスバーはプロパティの初期値と最大値、増加率を設定し、増加するタイミングにメソッドを呼び出すことで進捗率を表現する模様。具体的なプロパティ名は下記の通り。
'プログレスバーの初期値
Me.progressBar.Value = 0
'プログレスバーの最大値
Me.progressBar.Maximum = 100
'プログレスバーの増加率
Me.progressBar.Step = 25
'プログレスバーの値を増加させるメソッド
(このメソッドを呼ぶごとに上の増加率がvalueに追加される)
Me.progressBar.PerformStep()
使い方によっては上手いやりかたがありそう。例えばデータベースに関わるプログラムを作る場合などで、プログレスバーの最大値をdatasetのレコード件数にして、プログレスバーの増加率を1にし、ループ処理中にPerformStep()を組み込むとか・・・・思いつきでやったことはないけれども。
サンプルコード
プログレスバーを使ったサンプルコードを下記に記してみる。使い方としては大体こんなイメージだろうと思う。
Me.ProgressBar1.Maximum = recordIds.Length
Me.ProgressBar1.Step = 1
Me.ProgressBar1.Value = 0
Me.ProgressBar1.Visible = True
For i = 0 To (recordIds.Length - 1)
sqlStr = "UPDATE targetTable SET targetCol = #" & targetVal & "# WHERE targetId = " & recordIds(i)
obj.execSql(sqlStr)
Me.ProgressBar1.PerformStep()
Next i
Me.ProgressBar1.Visible = False