如何在显示模态窗体的时候让窗口先画!??(急)在线等待

holydiablo 2002-06-06 09:14:54
我的程序在显示一个模态窗体的Form_Load事件中做一个很耗时的工作,结果造成窗体显示缓慢,很不雅观,如果时在显示非模态窗体时,可以在Form_Load事件中加入
me.show
Doevents
....
就可以解决,但是模态窗体时不能这样做的,我又想到用多线程的办法让耗时工作在另一线程中完成,但是这部分工作和窗体有关联,无法放入模块中,也就是说我无法用Addressof获取该过程的地址
请各位同仁多多帮忙!
...全文
50 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Azi03 2002-06-06
  • 打赏
  • 举报
回复
如果还不行,你在执行拷过去的代码前加上Me.Refresh

这样就没问题了
Azi03 2002-06-06
  • 打赏
  • 举报
回复
其实不必,你把FormLoad事件里面的代码都挪到Form_Activate事件里面,然后定义一个私有的模块级布尔型变量,用于标识窗体是否是Load,在FormLoad事件中将此变量置为True,在Form_Activate事件中首先判断此变量是否为True,若是则将其置为False,然后执行你刚才拷过去的代码;否则Exit Sub

这样就可以解决你的问题了。
holydiablo 2002-06-06
  • 打赏
  • 举报
回复
看起来我得另想办法了!
doubos 2002-06-06
  • 打赏
  • 举报
回复
可以做一个Splash屏幕:frmSplash
frmSplash.Show
frmSplash.Refresh
Load Form1
Unload frmSplash
Form1.Show
remanwang 2002-06-06
  • 打赏
  • 举报
回复
除非你的窗口要用很多控件,不然的话,那部分代码一定可以和窗口分开.

7,762

社区成员

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

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