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