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


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

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

帅哥哟,离线,有人找我吗?
smileboy
  1楼 | 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


 回到顶部