"该过程要执行多长时间不定,用一个progressbar显示其完成情况,"
这样要求太高了吧!
嘿嘿,我有的是歪办法, 用假的估计来模拟Progressbar!
分情况讨论:
现在,先来假设你的ProgressBar的position只显示到2/3的位置,
可是你的线程已经结束了,你可以再调用一个延时的函数,
来继续把ProgressBar走到Max处(不要告诉我,这个你不会);
另一种情况是,你的ProgressBar都要到3/4处了,可是线程还没有结束,
那你就,将剩下的一段分成10小段,过N 秒(N视线程一般完成时间的长短来定)
再Step一步,再将剩下的一段分成10小段,过N秒再Step一步。。。
好要点就说完了。
不知我讲清否,不晓得你看懂否。
再解释一下, 开始时,你先将ProgressBar最后的1/5放一边,也就是不要去StepIt,
比如,Max设为100,那你在StepIt时,position不能超过80, 这剩下的20留给延时程序
去StepIt。 那怎么去StepIt? 就象上面讲的第二种情况,先把0-80的部分
分为10小段,过N秒StepIt,再将剩下的一段分成10小段,过N秒再Step一步。。。
呵呵,这样总有一部分Progressbar没有被Step掉,这些就留给延时程序来完成了。
哇,累死我了。