一个关于用其它窗体显示进度条的问题。请大家指教。

cdsun 2005-11-29 10:15:14
我的问题是这样的
假如我用窗体a刷新数据库里面的数据的时候如果数据量很大就需要用户等待,这个时候我就用b窗体上面放了一个进度条,在a窗体进行重新读取数据库的时候我就把b窗体打开,让b窗体上面的进度条自动循环就可以了。

问题是我在单独打开b窗体的时候进度条可以一直不停的循环运行

但是我从a窗体执行一个操作的时候比如代码如下:
private sub cmdre.......
b.show
doevents
.......
.....
....
unload b
end sub


这个时候b窗体上面的进度条就不动了
请问怎么样才能在a执行数据读取的时候,让b窗体的进度条也不要停止运行呢?

请各位不吝赐教
...全文
171 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cooler 2006-05-05
  • 打赏
  • 举报
回复
使用timer组件,放到B窗体中,让它的事件里面去增加B的进度。
cdsun 2005-11-30
  • 打赏
  • 举报
回复
是这样的

我的一个工程里面有很多地方需要载入大量数据

而且都是来自不同的表

所以我做了一个公共的b窗体来方便其他需要显示等待的地方调用,也就是说总是调用这样一个窗体就是了

所以我就没有把代码放在b中执行
vbman2003 2005-11-30
  • 打赏
  • 举报
回复
简单的方法就是把a中刷新数据的代码放到b中
clear_zero 2005-11-30
  • 打赏
  • 举报
回复
private sub cmdre.......
b.show
doevents

.....
....
unload b
end sub

我觉得是这个函数写得有问题。读取操作应该是个循环吧。
for i=0 to 1000
b.progressbar1.value=i
......
next i

仅供参考。为什么不把函数放在b里面呢,然后让b取得焦点,对a中变量操作。读取完成时关闭
我记得我就是那么做的。
Hotus 2005-11-29
  • 打赏
  • 举报
回复
不用吧,加在

窗体a刷新数据库里面的数据的时候
cdsun 2005-11-29
  • 打赏
  • 举报
回复
是不是需要用到线程技术?
如果是谁能指教一下
cdsun 2005-11-29
  • 打赏
  • 举报
回复
b里面加了doevents

可是还是不行
Hotus 2005-11-29
  • 打赏
  • 举报
回复
doevents
b.show

b里面加doevents试试

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧