启动窗体LogoFrm,控件ProgressBar1
登录窗体LoginFrm
主窗体MDIFrm
子窗体MainFrm,控件ListView1问题:
系统启动时子窗体MainFrm.ListView1在后台装载数据,如何将ListView1的Count传递给LogoFrm.ProgressBar1,使ProgressBar1与ListView1数据
装载同步,避免用户等烦?
登录窗体LoginFrm
主窗体MDIFrm
子窗体MainFrm,控件ListView1问题:
系统启动时子窗体MainFrm.ListView1在后台装载数据,如何将ListView1的Count传递给LogoFrm.ProgressBar1,使ProgressBar1与ListView1数据
装载同步,避免用户等烦?
窗体B中的控件ListView有大量数据要装入,希望这个过程隐藏进行,也就是Load B同时B.Hide。但是这个过程里不可能让用户看着屏幕发呆啊!
所以,就需要在此之前先启动窗体A,并在A上使用一个进度条。这个进度条的Value等于窗体B中ListView的记录数。
假设数据库有i行数据,ListView必须一次装入,那么,进度条的Value=i。数据装入完成(进度条也刚好走到头),则卸载窗体A,并显示窗体B
------------------------------------
由于进度条与ListVie不在同一个窗体,所以很迷糊,不知道怎么把ListVie的变量Count传递给进度条,时进度条的滚动刚好与ListVie的数据装载
同时开始和结束。
Private Sub Form_Load()
Form2.Hide
ProgressBar1.Min = 0
ProgressBar1.Max = 100
End SubPrivate Sub Timer1_Timer()
Form2.Hide
s = Form2.ListView1.ListItems.Count
s1 = s / 100
ProgressBar1.Value = s1
End Sub
1.B窗体在装载 ListView 的时候. 开始. A.ProgressBar1.Max=RS.RecordCount
for i=1 to RS.RecordCount ';加载数据至 ListView
Rs.MoveNext'
'....加载至 ListView
A.ProgressBar1.Value=i/A.ProgressBar1.Max*100 & "%"
Next
登录窗体LoginFrm
主窗体MDIFrm
子窗体MainFrm,控件ListView1
思路应该是这样吧:
在LoginFrm里验证登录后加入下面的语句
MDIFRM.SHOW
LOAD MainFrm
在MAINFRMR的最上面加入
dim lsfrm as new logofrm
在mainfrm的LOAD里加入以下语句lsfrm .progressbar1.max=???
lsfrm .progressbar1.min=???
lsfrm.show
在LISTVIEW装入数据的盾环中加入
lsfrm.value=????
数据装入完成后
unload lsfrm
mainfrm.show