我想做个LOAD窗体 ?????????

时间:2021-12-09 12:33:06
一个MIS 因为程序比较大 载入时间长

所以要个LOAD窗体 但是怎样才能知道她的进度

用PROGRESSBAR表现出来呢 
[↑]

22 个解决方案

#1


你看看大概需要多长时间

然后不要知道她的进度

直接用PROGRESSBAR表现出来:)

#2


老大  你做的和我的一样

但是电脑配置是不一样的

#3


VB一般只有在程序模块化,且模块较大较多的时候需要用到LOADFRM,个人认为做一个漂亮的LOADING画面就可以了,没有必要用进度条

#4


预先执行form.load,等窗体和模块都加载后再关闭LOADING窗口

#5


在Form_Load中調用Form_Main,但Form_Main的載入需要很長的時間,
這時在Form_Load中寫
  Load Form_Main
   width Form_Main
     .Connection.open ....
      Doevents
      進度條走一格   
     .RecordSet_One.Open....
      進度條走一格   
     .RecordSet_Two.open....
      進度條走一格   
     ...其它事件
   end with
不知道這樣可不可以了呢

#6


na那个有没有更好的办法 谢了 

小弟初学!愚钝!

#7


可否象photoshop中的load窗体,把你需要加载的信息写成字符串显示在load窗体中,不用进度条。叶挺好的。ok?

#8


可以啊 但是load 窗体显示的时间呢怎么控制?

#9


我一般对每一个长运算都单独做一个loading窗体以提示进度,我也知道这样做太土,可是一直也没有时间去解决,不过已经有了一个想法.
一般来说load都是在最上一层,一般都要用show modal,可这样一来调用它的函数就没有往一执行,所以只能用api把它放到最前,在函数里调它时,把主窗体先disable,再计算出函数的运算时间发给进度条,然后每执行一步就给进度条加一点.这只是一个想法,还不知道可不可行呢.
function showloadform (max as long,per as long,optional Mainform as from ) as boolean
if mainform is not nothing then mainform.enable=false
frmloading.show 
给max
给per
end fucntion

function showpb (addvalue as long) as boolean
frmloading.pb.value=frmloading.pb.value + addvalue
end function

#10


回复人: 01order(天使恋) ( ) 信誉:100  2003-12-11 22:13:00  得分:0 
 
 
  老大  你做的和我的一样

但是电脑配置是不一样的
  
----------------------------------------
我的意思是大概有那个意思就行了
你看看2000启动进度条,呵呵 
如果确实要求精确的话,只能看你的源代码了

#11


to : flyingscv(zlj) 
  谢谢你的答复 ,其实效率是最重要的对吧!

我向你学习了!!
 
  但是现在我想和大家一起来探讨一下这个东东怎么实现!!

#12


我原来也觉的是一个问题
可后明白
大多说好的软件都没有进度条
就一个图片
或几个字
呵呵

#13


在sub main中先启动LOAD 窗体,
当主窗体打开完毕时, 在FORM_LOAD 最后一句卸载LOAD 窗体, 

可能不太好用试试吧

#14


up

#15


up

#16


大家有没有更好的方法啊   ????

怎么人才怎么少啊!

5555555555

#17


up

#18


可否象photoshop中的load窗体,把你需要加载的信息写成字符串显示在load窗体中,不用进度条。叶挺好的。ok?
回复人: 01order(天使恋) ( ) 信誉:100  2003-12-12 13:33:20  得分:0 
可以啊 但是load 窗体显示的时间呢怎么控制?


你说的是什莫时间?是系统时间,还是load时的进度时间
 
 


#19


老兄
请你注意一下你的WINDOWS的进度条
微软做的也不是准确的.

只是做完一个事情发一个信息   告诉进度条现在应该到哪了而已.

#20


要做真正的进度条,很难!

#21


用timer控件来完成,把进度条放到timer事件里,设置个标记就行了

#22


用timer控件来完成,把进度条放到timer事件里,设置个标记就行了


------------------------------------------------------------------

hspring(乐天) 老兄:

这个也太没有水准了吧!!

#1


你看看大概需要多长时间

然后不要知道她的进度

直接用PROGRESSBAR表现出来:)

#2


老大  你做的和我的一样

但是电脑配置是不一样的

#3


VB一般只有在程序模块化,且模块较大较多的时候需要用到LOADFRM,个人认为做一个漂亮的LOADING画面就可以了,没有必要用进度条

#4


预先执行form.load,等窗体和模块都加载后再关闭LOADING窗口

#5


在Form_Load中調用Form_Main,但Form_Main的載入需要很長的時間,
這時在Form_Load中寫
  Load Form_Main
   width Form_Main
     .Connection.open ....
      Doevents
      進度條走一格   
     .RecordSet_One.Open....
      進度條走一格   
     .RecordSet_Two.open....
      進度條走一格   
     ...其它事件
   end with
不知道這樣可不可以了呢

#6


na那个有没有更好的办法 谢了 

小弟初学!愚钝!

#7


可否象photoshop中的load窗体,把你需要加载的信息写成字符串显示在load窗体中,不用进度条。叶挺好的。ok?

#8


可以啊 但是load 窗体显示的时间呢怎么控制?

#9


我一般对每一个长运算都单独做一个loading窗体以提示进度,我也知道这样做太土,可是一直也没有时间去解决,不过已经有了一个想法.
一般来说load都是在最上一层,一般都要用show modal,可这样一来调用它的函数就没有往一执行,所以只能用api把它放到最前,在函数里调它时,把主窗体先disable,再计算出函数的运算时间发给进度条,然后每执行一步就给进度条加一点.这只是一个想法,还不知道可不可行呢.
function showloadform (max as long,per as long,optional Mainform as from ) as boolean
if mainform is not nothing then mainform.enable=false
frmloading.show 
给max
给per
end fucntion

function showpb (addvalue as long) as boolean
frmloading.pb.value=frmloading.pb.value + addvalue
end function

#10


回复人: 01order(天使恋) ( ) 信誉:100  2003-12-11 22:13:00  得分:0 
 
 
  老大  你做的和我的一样

但是电脑配置是不一样的
  
----------------------------------------
我的意思是大概有那个意思就行了
你看看2000启动进度条,呵呵 
如果确实要求精确的话,只能看你的源代码了

#11


to : flyingscv(zlj) 
  谢谢你的答复 ,其实效率是最重要的对吧!

我向你学习了!!
 
  但是现在我想和大家一起来探讨一下这个东东怎么实现!!

#12


我原来也觉的是一个问题
可后明白
大多说好的软件都没有进度条
就一个图片
或几个字
呵呵

#13


在sub main中先启动LOAD 窗体,
当主窗体打开完毕时, 在FORM_LOAD 最后一句卸载LOAD 窗体, 

可能不太好用试试吧

#14


up

#15


up

#16


大家有没有更好的方法啊   ????

怎么人才怎么少啊!

5555555555

#17


up

#18


可否象photoshop中的load窗体,把你需要加载的信息写成字符串显示在load窗体中,不用进度条。叶挺好的。ok?
回复人: 01order(天使恋) ( ) 信誉:100  2003-12-12 13:33:20  得分:0 
可以啊 但是load 窗体显示的时间呢怎么控制?


你说的是什莫时间?是系统时间,还是load时的进度时间
 
 


#19


老兄
请你注意一下你的WINDOWS的进度条
微软做的也不是准确的.

只是做完一个事情发一个信息   告诉进度条现在应该到哪了而已.

#20


要做真正的进度条,很难!

#21


用timer控件来完成,把进度条放到timer事件里,设置个标记就行了

#22


用timer控件来完成,把进度条放到timer事件里,设置个标记就行了


------------------------------------------------------------------

hspring(乐天) 老兄:

这个也太没有水准了吧!!