关于模式窗体的触发关闭

清海扬波 2007-12-10 05:15:42
我想在父窗体中处理数据,在这个过程中显示模式窗体,父窗体处理完之后关闭模式窗体,怎么写呢
...全文
66 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jwh2004 2007-12-11
将父窗体FormMain中处理数据的代码放到一个定时器Timer1中,在FormMain中设置
Timer1.Interval = 1000
Timer1.Enable=True
然后显示子窗体如:form2.Show 1
Timer1_Timer()事件的最后调用"Unload form2"即可。
这样在执行模式窗体form2时,父窗体的Timer1_Timer()事件仍会执行。
回复
vbman2003 2007-12-11
To:clear_zero 进度条也可以用子窗体的方法,子窗体是始终显示在父窗体之上的。用子窗体的方法你可以在父窗体上继续你的工作,几乎所有正常的操作都可以,比如向文本框中输入,执行其它按钮命令等等。如果我没理解错的话,楼主就是要的这个......
回复
clear_zero 2007-12-10
你可以换一个思路,你的模式窗体是不是就是现实进度条呢,或者等待信息等等

如果是的话,那么你可以做一个frame里面装着progressbar,lable等等,长时间处理数据的时候就显示出来。处理以后再visible=false
回复
vbman2003 2007-12-10
我想在父窗体中处理数据,在这个过程中显示模式窗体,父窗体处理完之后关闭模式窗体,怎么写呢
------------------------------------------------------
我是根据你的描述采用的变通方法:



Private Sub Command10_Click()

Form2.Show , Me '在父窗体上显示一个子窗体
Dim l As Integer
For l = 1 To 10000
DoEvents
Form2.Text1 = l '父窗体继续处理
Next
'处理完毕关闭form2
Unload Form2

End Sub


如果一定要是模式窗体,我坐下来学习了
回复
清海扬波 2007-12-10
Vbman,你这个。。。
我是要模式查自动关闭的(在父窗体处理完成之后)
CamelFang:
可以给个实例么?
回复
vbman2003 2007-12-10

form2.show,me
回复
CamelFang 2007-12-10
如果数据处理的部分非常耗时,那最好把它放到单独的线程中处理.
线程结束后通过发送消息来通知主窗体.
回复
清海扬波 2007-12-10
我就是想在模式窗体显示的时候让父窗体工作,但是不知道怎么做
回复
CamelFang 2007-12-10
是在线程中处理数据吗?
否则显示模式窗体的时候,父窗体应该就没有干活了.
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告