まとまりのないブログ

something which something is something

vb.net

進捗状況を表示するプログレスバー

投稿日:

プログレスバーの使い方

プログレスバーは、アプリケーションが何かの処理中であることをユーザに知らせてあげるという役割を持っている。時間がかかる処理などの場合にその進行状況をプログレスバーのアニメーションで明示することで、ユーザに安心感を与えることができる・・・かもしれない。

自分なりにプログレスバーの使い方を調べてみたところ、どうやらプログレスバーはプロパティの初期値と最大値、増加率を設定し、増加するタイミングにメソッドを呼び出すことで進捗率を表現する模様。具体的なプロパティ名は下記の通り。

        'プログレスバーの初期値
        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

-vb.net

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

listviewのSelectedIndexChangedイベントの挙動

listviewの一覧のアイテムをマウスでクリックして、そのクリックした項目のアイテム名を取得しようとしたら、 Message=”‘0’ の InvalidArgument=Value は ‘inde …

no image

VB.NETの駄目な所

10年ぶりぐらいにvb.netのソースコードを手直ししたのだけれど、あらためてvb.netってよくわからない仕様になっているなと。特に配列とFor文。 配列を宣言すると+1の要素数で作成される Dim …

no image

System.Data.OleDb.OleDbException: ファイル ’ファイルパス ’ が見つかりませんでした。

データベースファイルを相対指定にしていて、openfiledialogでローカルのファイルを選択後に、データベースのファイルの指定が絶対指定に変わってしまった。その結果、当然ながらデータベース接続エラ …

no image

datagridの選択した行のセルの値を取得する

備忘。.netframeworks2.0のコントロールであるdatagridコントロールで、バインドされたデータ一覧から選択された行のセル値を取得する方法。datagridのSelectedRowsプ …

no image

vb2005のカスタムコントロールの初期表示イベント

UserControl イベント http://msdn.microsoft.com/ja-jp/library/system.windows.forms.usercontrol_events.asp …