ボタンをクリックしたときに偽のプログレスバーを作成したい:
for i = 0 to Maximum
progressbar1.value = progressbar1.value + 1
next
しかし、progressbar.value=100速すぎます
ボタンをクリックしたときに偽のプログレスバーを作成したい:
for i = 0 to Maximum
progressbar1.value = progressbar1.value + 1
next
しかし、progressbar.value=100速すぎます
タイマー、
ボタンを使用:
timer1.enable = true
タイマー:
If ProgressBar1.value = ProgressBar1.maximum Then
Timer1.Enabled = False
Exit Sub
End If
ProgressBar1.value = ProgressBar1.value + 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
通常、進行状況は、何かに時間がかかっているときに表示されるため、ユーザーに進行状況を表示できます。
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
でも
これを行うための推奨される方法は、バックグラウンドワーカーで長時間実行されているプロセスを実行し、終了時にデリゲートを使用してプログレスバーを更新することです。しかし、それは別の質問です。