以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  模式窗体的嵌套打开  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90998)

--  作者:李睿涵
--  发布时间:2016/9/27 12:26:00
--  模式窗体的嵌套打开

A和B 都是模式窗体

 

先打开窗体A,里面放个关闭按钮,希望关闭A后,能打开B

按钮单击事件如下:

forms("B").SHOW

E.form.close

执行上面代码,是可以打开B,但把B位置挪开点,发现A还是处于打开状态

只有关闭了B,A才会关闭

 

请问如何写代码,才能在打开B后,A也随之关闭了

 


--  作者:有点蓝
--  发布时间:2016/9/27 14:23:00
--  
A窗口关闭按钮

e.Form.baseform.Close
e.Form.baseform.opacity = 0
Forms("B").Show

--  作者:李睿涵
--  发布时间:2016/9/27 14:56:00
--  

请问这是把A先“隐藏”起来 让人感觉关闭了吧?

还是真正关闭了?(会执行beforeclose或者afterclose事件)


--  作者:有点蓝
--  发布时间:2016/9/27 15:22:00
--  
这种情况你在beforeclose或者afterclose事件里写代码测试就知道了。

代码编程能自己测试的尽量自己测试,别人说一百遍不如自己试几遍来的印象深刻

--  作者:blackzhu
--  发布时间:2016/9/27 16:07:00
--  
 貌似无解
--  作者:blackzhu
--  发布时间:2016/9/27 16:23:00
--  
 e.form.baseform.Hide
e.form.Close

Forms("窗口2").open
--  作者:逛逛
--  发布时间:2016/9/27 16:24:00
--  
可以到B窗口去关闭A窗口   AfterLoad

e.Form.BaseForm.Owner = BaseMainForm

If Forms("B").Opened Then
    Forms("B").BaseForm.Hide
    Forms("B").Close
End If


这样会触发关闭事件

--  作者:李睿涵
--  发布时间:2016/9/27 16:35:00
--  

谢谢~


--  作者:徐统
--  发布时间:2017/9/19 16:55:00
--  
请问一下模式窗口下,打开第二个窗口的时候自动关闭第一个窗口,这样设置桌面永远是只一个窗口,应该怎么设置?
--  作者:有点甜
--  发布时间:2017/9/19 18:58:00
--  
以下是引用徐统在2017/9/19 16:55:00的发言:
请问一下模式窗口下,打开第二个窗口的时候自动关闭第一个窗口,这样设置桌面永远是只一个窗口,应该怎么设置?

 

楼上就是答案。