以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问关闭当前窗口,返回主页,应该怎么写?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=31162)

--  作者:jpguo
--  发布时间:2013/4/11 9:31:00
--  请问关闭当前窗口,返回主页,应该怎么写?

做了一个返回主页的按钮

请问关闭当前窗口(不管现打开的是哪个窗口),返回主页(打开主界面窗口),应该怎么写?


--  作者:Bin
--  发布时间:2013/4/11 9:32:00
--  
在窗口关闭事件中添加返回主界面代码即可。
--  作者:XYT
--  发布时间:2013/4/11 9:36:00
--  

在AFTERCLOSE 写

Forms("主窗口").Show()


--  作者:jpguo
--  发布时间:2013/4/11 9:38:00
--  
以下是引用Bin在2013-4-11 9:32:00的发言:
在窗口关闭事件中添加返回主界面代码即可。
应该怎么写?

主要是前面关闭当前窗口(不管现打开的是哪个窗口)。


--  作者:Bin
--  发布时间:2013/4/11 9:44:00
--  
3楼已经说的很清楚啦。
--  作者:jpguo
--  发布时间:2013/4/13 11:09:00
--  
以下是引用Bin在2013-4-11 9:44:00的发言:
3楼已经说的很清楚啦。

 

3楼说的执行代码,只是打开主界面而已,这个我明白实现方法。

 

但是,他那个方法并非有判断当前打开的其他窗口(主界面之外的表单窗口)要先关闭然后再打开主界面,导致有些数据在窗口切换(即点了返回主页)时并未判断是否保存。

 

现在的需求是这样,所有窗口的所有表者都是设为统一MAIN,而且窗口类型都设为主窗口,每次只能打开显示一个窗口。当要打开另外窗口时必须先返回主页,所以,假如现在打开的是订单,处于正在编辑状态,想要返回主页时,点击“返回主页”,希望能先关闭订单这窗口,然后在关闭的时候执行窗口关闭的代码(有设置判断条件,比如客户名称、联系电话为必段),操作完订单关闭的动作,再打开主界面。

 

我现在比较疑惑的是,因为在返回主页时,不确定当前窗口是哪一个窗口,应该怎么在返回主页的时候定义???


--  作者:XYT
--  发布时间:2013/4/13 11:18:00
--  
用ActiveForm返回当前的窗口,你那些判断是要在关闭前就判断的,打开窗口是关闭后的,事件不一样
--  作者:Bin
--  发布时间:2013/4/13 11:19:00
--  
我比较疑惑的是.你是返回不同的主窗口 还是返回同一个主窗口?  有点乱.
还有关闭需要执行的代码.你分别写在对应的窗体的 关闭事件中就可以了.

--  作者:jpguo
--  发布时间:2013/4/13 11:23:00
--  
以下是引用muhua在2013-4-13 11:18:00的发言:

判断下 Forms.ActiveForm.Name

问一下,具体应该是怎么判断?能帮忙写完整一点吗

原理是应该先判断当前窗口中数据如果未改变的话,那么就直接关闭当前窗口,打开主界面。

如当前窗口中数据有改变的话,那么先执行窗口关闭判断(这个地方不知道是可以直接引用窗口关闭的判断,还是要单独在返回主页中定义 ),执行完当前窗口关闭后,再打开主界面。

[此贴子已经被作者于2013-4-13 11:25:10编辑过]

--  作者:jpguo
--  发布时间:2013/4/13 11:29:00
--  
以下是引用Bin在2013-4-13 11:19:00的发言:
我比较疑惑的是.你是返回不同的主窗口 还是返回同一个主窗口?  有点乱.
还有关闭需要执行的代码.你分别写在对应的窗体的 关闭事件中就可以了.

返回主页,执行这个按钮之后,是统一返回“主界面”窗口。我已经做了下面两个工作

1、在返回主页中写了Forms("主界面").Show()

2、在各表单的窗口中,分别加了各自关闭的判断。

 

可现在的问题是,像刚刚那个假设,在打开订单窗口正处于编辑时,点击返回主页,理应是因为订单窗口中的数据有改变,要判断是否保存,接着执行保存判断,执行完再打开主界面;可现在订单窗口什么都不执行,直接只是简单的打开主界面而已。