まとまりのないブログ

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

テーブルのフィールドのデータ型を調べる

プログラムで使っているテーブルのあるフィールドが設計ミスで使われていないことに気づき、せっかくだからそのフィールドのデータ型を変えて別の用途に使ってみようというトリッキーなことをやろうとしたけれど、や …

no image

datagridの内容をmschartに表示

ボツになった案。vb6用のランタイムが無いとmschartは表示することができないので自分は使うことができないけど、誰かほかの人の参考になればと思って。やろうとしてたことのサンプルコードは下記に載せて …

no image

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

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

no image

reportviewer はデータソースが複数あるとわけがわからない状態になる

visual studioのreportviewer コントロールの設定で嵌ってしまったので備忘。reportviwerコントロールをフォーム上に配置したらレポートの設定をするためにrdlcという拡張 …

no image

MonthCalendarの表示がxpとvistaでサイズが異なる

visual studio 2005のwindowsアプリケーションを作成する場合に使うコントロールの一つにMonthCalendarというのがある。これをフォーム内に配置して表示確認を行ったところ、 …