我的窗体上有个进度条,Max为100。
当我的窗体点击按钮时,调用一个类,程序运行进入类。在类中,有10个计算步骤,当十个计算步骤结束后,推出类,返回窗体。
我希望当程序运行进入类中时,每完成一个步骤,就使进度条的Valuv加10,当十个步骤结束后,进度条的Value刚好加到100,进度条走到头。
请问如何实现??
我是新人,说详细点,请举个例子。谢谢!

解决方案 »

  1.   

    Option Explicit'为了模拟计算过程添加的
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Private Sub Form_Load()
        Me.Show    ProgressBar1.Max = 100
        
        ProgressBar1.Value = 10
        '这里写入第1段计算的代码
        DoEvents
        Sleep 1000
        
        ProgressBar1.Value = 20
        '这里写入第2段计算的代码
        DoEvents
        Sleep 1000
        
        ProgressBar1.Value = 30
        '这里写入第5段计算的代码
        DoEvents
        Sleep 1000
        
        ProgressBar1.Value = 40
        '这里写入第4段计算的代码
        DoEvents
        Sleep 1000
        
        
        '依此类推,写入其余的计算代码
    End Sub
      

  2.   

    '类模块
    Option Explicit'为了模拟计算过程添加的
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Private m_lngProgress As LongPublic Property Get Progress() As Long
        Progress = m_lngProgress
    End Property
    Public Sub JiSuan()
        
        m_lngProgress = 10
        '这里写入第1段计算的代码
        DoEvents
        Sleep 1000
        
        m_lngProgress = 20
        '这里写入第2段计算的代码
        DoEvents
        Sleep 1000
        
        m_lngProgress = 30
        '这里写入第3段计算的代码
        DoEvents
        Sleep 1000
        
        m_lngProgress = 40
        '这里写入第4段计算的代码
        DoEvents
        Sleep 1000
        
        m_lngProgress = 50
        '这里写入第5段计算的代码
        DoEvents
        Sleep 1000
        
        m_lngProgress = 60
        '这里写入第6段计算的代码
        DoEvents
        Sleep 1000
        
        m_lngProgress = 70
        '这里写入第7段计算的代码
        DoEvents
        Sleep 1000
        
        m_lngProgress = 80
        '这里写入第8段计算的代码
        DoEvents
        Sleep 1000
        
        m_lngProgress = 90
        '这里写入第9段计算的代码
        DoEvents
        Sleep 1000
        
        m_lngProgress = 100
        '这里写入第10段计算的代码
        DoEvents
        Sleep 1000End Sub'窗体代码,加个定时器
    Option ExplicitDim Class11 As New Class1'开始计算
    Private Sub Command1_Click()
        Timer1.Enabled = True
        DoEvents
        Class11.JiSuan
    End SubPrivate Sub Form_Load()
        ProgressBar1.Max = 100
        Timer1.Enabled = False
        Timer1.Interval = 100
    End SubPrivate Sub Timer1_Timer()
        ProgressBar1.Value = Class11.Progress
        If Class11.Progress = 100 Then
            Timer1.Enabled = False
        End If
    End Sub