-1


ボタンをクリックしたときに偽のプログレスバーを作成したい:

for i = 0 to Maximum 
progressbar1.value = progressbar1.value + 1
next

しかし、progressbar.value=100速すぎます

4

3 に答える 3

3

タイマー、
ボタンを使用:

timer1.enable = true

タイマー:

   If ProgressBar1.value = ProgressBar1.maximum Then
            Timer1.Enabled = False
            Exit Sub
        End If
        ProgressBar1.value = ProgressBar1.value + 1
于 2012-06-20T13:29:18.177 に答える
1

次のようなものを試してください...

for i = 0 to Maximum 
    progressbar1.value = progressbar1.value + 1
    Pause(5)
next

Public Sub Pause(ByRef seconds As Double)
    Dim fIni as DateTime = Now.AddSeconds(seconds)

    While Now < fIni
        My.Application.DoEvents()
    End While
End Sub
于 2012-06-20T13:40:41.967 に答える
0

通常、進行状況は、何かに時間がかかっているときに表示されるため、ユーザーに進行状況を表示できます。

    For i = 0 To ProgressBar1.Maximum - 1
        'some long running process happens here 
        ProgressBar1.Value += 1
    Next

テストなどのためにlogn実行プロセスをシミュレートする場合は、Sleepを使用できます。

    For i = 0 To ProgressBar1.Maximum - 1
        System.Threading.Thread.Sleep(50) 'wait for 50ms
        ProgressBar1.Value += 1
    Next

でも

これを行うための推奨される方法は、バックグラウンドワーカーで長時間実行されているプロセスを実行し、終了時にデリゲートを使用してプログレスバーを更新することです。しかし、それは別の質問です。

于 2012-06-20T13:43:05.670 に答える