想在一个窗体里面放一个ProgressBar,让他与Timer控件配合,实现10秒进度条走满的效果。不知道有没有什么简单的办法呢?我这里有个代码,但是在CPU主频高的机器上和主频低的机器上差别太大了。

解决方案 »

  1.   

    timer隔时触发progressbar.value + 一个数http:\\popularall.51.net 好像里面有推荐几个,还可以...
      

  2.   

    Option Explicit
    Const PMin = 0, PMax = 100Private Sub cmdBegin_Click()
        
        Timer1.Interval = 200
        Timer1.Enabled = TrueEnd SubPrivate Sub Form_Load()
        
        ProgressBar1.Min = PMin
        ProgressBar1.Max = PMaxEnd SubPrivate Sub Timer1_Timer()    Static t As Single
        Dim v As Integer
        If t = 0 Then t = Timer
        If (Timer - t) > 10 Then Timer1.Enabled = False
        v = (PMax - PMin) * (Timer - t) / 10# + PMin
        If v > PMax Then v = PMax
        ProgressBar1.Value = vEnd Sub