progressbar的使用(12分)

  • 主题发起人 主题发起人 套牢1
  • 开始时间 开始时间

套牢1

Unregistered / Unconfirmed
GUEST, unregistred user!
要想在一个过程进行的同时,用一个progressbar显示其完成情况,
怎样实现?
该过程要执行多长时间不定,也不是对一个文件型的数据的拷贝,无法确定量的大小
 
你可以在过程进行的同时付给progressbar一个值。
或在过程进行的同时(发消息),progressbar接收消息。
 
没有量的大小,那你就测试CPU和你过程的运行时间的比率,再虚拟一个值吧~~~~~~~~~~
哈哈,别踢我啊……
 
"该过程要执行多长时间不定,用一个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掉,这些就留给延时程序来完成了。

哇,累死我了。
 
多人接受答案了。
 
后退
顶部