Foxtable(狐表)用户栏目专家坐堂 → 如何用代码关闭这个窗口


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

主题:如何用代码关闭这个窗口

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/1/31 19:16:00 [只看该作者]

找到方法了,但心里没底,保不准就关了不该关的窗口:

If Forms.Contains("记录窗口") AndAlso Forms("记录窗口").Opened Then '有记录窗口,并且窗口已打开
    Dim nm As String
    If Forms("记录窗口").Controls("rgd-1").Table IsNot Nothing Then '并且记录窗口控件绑定了表
        nm = Forms("记录窗口").Controls("rgd-1").Table.Name '获取绑定的表名
    End If
    If nm > "" AndAlso Tables.Contains(nm) = False AndAlso System.Windows.Forms.Form.ActiveForm.Name <> "frmMain" Then 
        '表名不为空,而表不存在,说明含窗口表的窗口关闭了,记录窗口控件就绑定了不存在的表,因而弹出错误提示窗口。另外不要误把狐表主窗口给关了
        Forms("记录窗口").Close '这个窗口中的记录窗口控件已出错,将其关闭,在表单击事件中重新打开,恢复正常。              
        Sendkeys.Send("%{F4}") '这时候,错误提示窗口就是当前活动窗口,只是不知其姓甚名谁,将其自动关闭。
    End If
End If
[此贴子已经被作者于2015-1-31 19:22:41编辑过]

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


加好友 发短信
等级:版主 帖子:1693 积分:12123 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2015/1/31 19:55:00 [只看该作者]

直接判断一下句柄试试看

 

 

 

If WINDOW_HANDLER <> 0  AndAlso WINDOW_HANDLER<> BaseMainForm.Handler  Then SendMessage(WINDOW_HANDLER, &H10, 0, 0)

 

 

还有,弹出的对话框标题不是固定的吗?


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/2/1 8:08:00 [只看该作者]

---------------------------
错误
---------------------------
编译错误:'Handler' is not a member of 'System.Windows.Forms.Form'.



错误代码:If WINDOW_HANDLER <> 0  AndAlso WINDOW_HANDLER <> BaseMainForm.Handler Then SendMessage(WINDOW_HANDLER, &H10, 0, 0)
---------------------------
确定   
---------------------------


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/2/1 8:30:00 [只看该作者]

If WINDOW_HANDLER <> 0  AndAlso WINDOW_HANDLER <> BaseMainForm.Handle Then SendMessage(WINDOW_HANDLER, &H10, 0, 0)

如果这样,操作系统都关了。

 回到顶部
总数 14 上一页 1 2