プログレスバーについて

解決


ようこ  2004-07-30 17:36:31  No: 84858  IP: [192.*.*.*]

タイマーコントロールのインターバルに連動して
プログレスバーがMaxになるようにしたいんですけれども
ご存知の方ご指導おねがいいたします。
ダメもとで以下のようにコーディングしたんですが、
プロパティ  Timer.Interval=4000
            progbar.Max=100 progbar.Min=0
Private Sub Timer1_Timer()
   If Timer1.Enabled = False Then
      progbar.Value = 0
   End If
   
   If Timer1.Interval = Timer1.Interval / 4 Then
      progbar.Value = 25
   ElseIf Timer1.Interval = Timer1.Interval / 2 Then
      progbar.Value = 50
   ElseIf Timer1.Interval = Timer1.Interval * 0.75 Then
      progbar.Value = 75
   ElseIf Timer1.Interval = Timer1.Interval Then
      progbar.Value = 100
   End If
      Call check
   
End Sub
やはり、Timer.Intervalは常に内部では4000のままなので
プログレスバーも常にMaxになってしまいます。

編集 削除
nanashi  2004-07-30 17:45:38  No: 84859  IP: [192.*.*.*]

>   If Timer1.Enabled = False Then
>      progbar.Value = 0
>   End If

Timer1.EnabledがFalseの場合、このイベント自体が発生しないので意味ないです。

>   If Timer1.Interval = Timer1.Interval / 4 Then
>      progbar.Value = 25
>   ElseIf Timer1.Interval = Timer1.Interval / 2 Then
>      progbar.Value = 50
>   ElseIf Timer1.Interval = Timer1.Interval * 0.75 Then
>      progbar.Value = 75
>   ElseIf Timer1.Interval = Timer1.Interval Then
>      progbar.Value = 100
>   End If

タイマーコントロールの動きをご存知ならこんな意味不明なプログラムは書かないと思いますが……。
Intervalはタイマーイベントの発生間隔(ミリ秒単位)です。
4000に設定した場合4秒ごとにタイマーイベントが発生します。
プログラム内でIntervalを変更しない限り、自動的に変わるものではありません。


とりあえず、こんな処理でも作ればタイマーコントロールがどんなものか分かるでしょう。

Private Sub Timer1_Timer()
    
    With progbar
        If .Value < .Max Then
            .Value = .Value + 1
        Else
            Timer1.Enabled = False
        End If
    End With
End Sub

編集 削除
ようこ  2004-08-02 12:54:12  No: 84860  IP: [192.*.*.*]

nanashiさんお答えいただいてありがとうございました。
nanashiさんに紹介していただいたコードを
参考に簡単なプログラムを作ってから動きを把握してから
以下のようにして正常に起動させることができました。
ありがとうございました。
Private Sub Timer1_Timer()
      progbar.Value = progbar.Value + 10
      If progbar.Value >= progbar.Max Then
      Timer1.Enabled = False
      progbar.Value = progbar.Min
     
      Timer1.Enabled = False
      Call check
       End If
End Sub

編集 削除
ようこ  2004-08-02 12:55:03  No: 84861  IP: [192.*.*.*]

解決チェックし忘れてました。

編集 削除