以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口关闭的疑惑  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40162)

--  作者:shenzhi
--  发布时间:2013/9/11 9:26:00
--  窗口关闭的疑惑
 在窗口的beforclose中有这么一段代码:

Dim Result As DialogResult
Result = MessageBox.Show("确实要关闭吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    If e.Form.Controls("save").Enabled=True Then \'需要保存数据时
        MessageBox.Show("请完成编辑后再关闭!")
        e.cancel=True
    Else
        e.cancel=False
        Tables("outcontract").AllowEdit=False
    End If
Else
    e.cancel=True
End If

当进入系统第一次打开窗口时出现对话框,当点击“否”时,没有出现提示窗口就关闭了,但我点击系统菜单中的窗口管理>设计窗口,什么也不做关闭后,再点击该窗口,当点击“否”时,窗口正常,不会不关闭,这是什么原因?
--  作者:Bin
--  发布时间:2013/9/11 9:28:00
--  
例子发上来瞅瞅,不应该吧.
--  作者:shenzhi
--  发布时间:2013/9/11 9:34:00
--  
 因为例子比较大,也连接sql,且我也单独测试过,测试时没发现问题!所以我就想是不是某个地方没激活窗口?
--  作者:有点甜
--  发布时间:2013/9/11 23:27:00
--  
 可以的话,联系官方远程看一下吧。
--  作者:程兴刚
--  发布时间:2013/9/11 23:36:00
--  

这样试一试:

 

if MessageBox.Show("确实要关闭吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = 6
     If e.Form.Controls("save").Enabled=True Then \'需要保存数据时

         e.cancel=True
         MessageBox.Show("请完成编辑后再关闭!")
     Else
        Tables("outcontract").AllowEdit=False
     End If
Else
    e.cancel=True
End If