请问使用进度条progressbar的话,处理程序一定要写在进度条窗口中吗?
例如读取文件时显示一个进度条窗口,我的本意是在主窗口中按下一个“读取”按钮,弹出一个新窗口显示一个进度条,等进度100%后,新窗口消失,仍然回到主窗口。
这样的话,是不是读取文件的代码一定要写在进度条窗口中?
读取代码写在主窗口中,然后新窗口显示进度可以实现吗?
谢谢!
[解决办法]
可以的! 其实就是在主窗口读取数据的过程中设置其它窗口控件属性就可以了!最后在结束调用的进度窗口
formx.show vbmodal '载入进度窗
formX.ProgressBar1.Value=xx'设置进度值
unload formx'关闭进度窗
[解决办法]
进度窗口不能用模态。
'Form1 主窗口'Option ExplicitPrivate Sub Command1_Click() Dim i As Long Dim dtNext As Date 'Form2 为进度窗口' '注:要设计 Form2 的 StartUpPosition 属性为 1 - CenterOwner' Form2.ProgressBar1.Max = 10 Form2.ProgressBar1.Value = 0 Form2.Show vbModeless, Me '显示在本窗体前面' dtNext = DateAdd("s", 1, Now()) For i = 1 To 10 '模拟耗时的处理过程' While Now() < dtNext DoEvents Wend dtNext = DateAdd("s", 1, dtNext) Form2.ProgressBar1.Value = i Next Unload Form2 MsgBox "完成", vbInformationEnd Sub