我有一个过程如下
Private Sub Show_Clause(ByVal Pstr As String)  Call IsCheckBox("ST11", 1, 2,  Pstr , 1, "001")
  Call ClearTree
  Call LoadClausesFromDB(Pstr)End Sub这中间调用的数据量比较大.我想用一个ProgressBar 来给用户提示加载速度..请问怎么来实现好看点...

解决方案 »

  1.   

    你这过程也是调用现成的函数实现的,
    使用processbar就必须得到过程执行的进度,否则也不能叫做进度条了.
    processbar你应该按一下F1好好看看帮助,归根结底就是3个属性: min,max和value
    即进度条所代表的最小值最大值和当前值,这你能明白吧.
    如果你写一个过程有100步,你设置min=1,max=100,你运行到第N步的时候就设置value属性为N.
    这时processbar就会按比例显示出进度了.
    因此你得在LoadClausesFromDB过程中自己估算总运算量和设置当前运行步数.
      

  2.   

    你可以做个假的进度,比如
    在程序的最开始加上
     ProgressBar1.Value = 0就是在每一个方法体中之间合适的地方加上    ProgressBar1.Max = ProgressBar1.Max + 1
        ProgressBar1.Value = ProgressBar1.Value + 1最后加上
    ProgressBar1.Value = ProgressBar1.Max
    这样也能实行进度效果,但精确性差点
      

  3.   

      ProgressBar1.Max = ProgressBar1.Max + 1
      ProgressBar1.Value = ProgressBar1.Value + 1最好可能是99999/100000,再搞下去也看不懂进度条有什么变化,体验很不好,以为完成了99%,其实还有很多,99%没完成...