Foxtable(狐表)用户栏目专家坐堂 → 关于窗口的自动关闭!


  共有21001人关注过本帖树形打印复制链接

主题:关于窗口的自动关闭!

帅哥哟,离线,有人找我吗?
woodiy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
关于窗口的自动关闭!  发帖心情 Post By:2009/2/11 20:55:00 [只看该作者]

在菜单中,利用控件,可以实际打开表的同时,打开窗口,如:
Maintables=table("客户")
Forms("客户").open()

现在有一个问题,就是利用菜单在不断打开表与窗口的时候,会不断的增加新的窗口, 请问有什么办法,在菜单中打开窗口的同时,能够关闭关前表的所有窗口呢?谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
smileboy
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 好心情 一级勋章
等级:超级版主 帖子:715 积分:5564 威望:0 精华:1 注册:2008/8/31 20:45:00
  发帖心情 Post By:2009/2/11 21:24:00 [只看该作者]

自动关闭与隐藏

本课的内容仅针对独立型窗口,因为其它类型的窗口并不存在自动隐藏的问题。
我们已经知道,独立窗口是可以共享的,独立窗口一旦打开,切换到其他主表后,窗口仍然是可见的。
有的时候我们并不希望这样,例如有一个设计好的窗口,名为“订单筛选”,我们希望进入订单表的时候,该窗口能够自动打开,而离开订单表的时候,能够自动关闭。
实现这个要求的代码很简单,只需将项目的MainTableChanged事件设为:

If MainTable.Name = "订单" Then
    Forms(
"订单筛选").Show()
Else

    Forms(
"订单筛选").Close()
End
If

但是还有一点不足,因为离开订单表的时候,窗口被关闭了,窗口位置以及所输入的内容会全部丢失,能不能在离开订单表的时候,只是暂时隐藏窗口,而不关闭窗口?
当然可以,只需上面的代码改为:

If MainTable.Name = "订单" Then
    Forms(
"订单筛选").Show()
Else

    Forms(
"订单筛选").Visible = False
End
If

还有一个问题,你可能并不希望自动打开窗口,只是希望对于已经打开的窗口,能够自动显示和隐藏,满足这种要求的代码为:

If MainTable.Name = "订单" Then
    Forms(
"订单筛选")
.Visible = True
Else

    Forms(
"订单筛选").Visible = False
End
If


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/11 21:53:00 [只看该作者]

帮助里头有很多宝藏,等着大家去发现。

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/2/12 8:34:00 [只看该作者]

以下是引用woodiy在2009-2-11 20:55:00的发言:
在菜单中,利用控件,可以实际打开表的同时,打开窗口,如:
Maintables=table("客户")
Forms("客户").open()

现在有一个问题,就是利用菜单在不断打开表与窗口的时候,会不断的增加新的窗口, 请问有什么办法,在菜单中打开窗口的同时,能够关闭关前表的所有窗口呢?谢谢!

加一个关闭窗口的命令就行了.


 回到顶部