我有一个过程如下
Private Sub Show_Clause(ByVal Pstr As String) Call IsCheckBox("ST11", 1, 2, Pstr , 1, "001")
Call ClearTree
Call LoadClausesFromDB(Pstr)End Sub这中间调用的数据量比较大.我想用一个ProgressBar 来给用户提示加载速度..请问怎么来实现好看点...
Private Sub Show_Clause(ByVal Pstr As String) Call IsCheckBox("ST11", 1, 2, Pstr , 1, "001")
Call ClearTree
Call LoadClausesFromDB(Pstr)End Sub这中间调用的数据量比较大.我想用一个ProgressBar 来给用户提示加载速度..请问怎么来实现好看点...
使用processbar就必须得到过程执行的进度,否则也不能叫做进度条了.
processbar你应该按一下F1好好看看帮助,归根结底就是3个属性: min,max和value
即进度条所代表的最小值最大值和当前值,这你能明白吧.
如果你写一个过程有100步,你设置min=1,max=100,你运行到第N步的时候就设置value属性为N.
这时processbar就会按比例显示出进度了.
因此你得在LoadClausesFromDB过程中自己估算总运算量和设置当前运行步数.
在程序的最开始加上
ProgressBar1.Value = 0就是在每一个方法体中之间合适的地方加上 ProgressBar1.Max = ProgressBar1.Max + 1
ProgressBar1.Value = ProgressBar1.Value + 1最后加上
ProgressBar1.Value = ProgressBar1.Max
这样也能实行进度效果,但精确性差点
ProgressBar1.Value = ProgressBar1.Value + 1最好可能是99999/100000,再搞下去也看不懂进度条有什么变化,体验很不好,以为完成了99%,其实还有很多,99%没完成...