以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  为何窗口BeforeClose事件的Cancel不起作用(狐爸请进)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=5306)

--  作者:i52117
--  发布时间:2009/12/7 0:31:00
--  为何窗口BeforeClose事件的Cancel不起作用(狐爸请进)
代码如下:
If DataTables("表A").HasChanges Then  \'如果被修改
   If MessageBox.Show("被修改,是否保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then \'如果选择是
         if  Tables("表A").Current("第一列") <> Tables("表A").Current("第二列")  then  \'第一列与第二列不相等
             MessageBox.Show("不平!","存盘失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) \'提示用户\'
             e.Cancel = True
         end if
   end if
end if


有时在第一列录入数据,同行第二列未录入,关闭窗口,e.Cancel能起作用,然后关闭窗口设计,点击左上角的保存后再进入窗口,在第一列输入一个数,关闭窗口只有messagebox提示而e.Cancel=TRUE 无效。试了多次不知什么原因.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table

[此贴子已经被作者于2009-12-8 11:35:33编辑过]

--  作者:程兴刚
--  发布时间:2009/12/7 3:13:00
--  
逻辑错误
--  作者:狐狸爸爸
--  发布时间:2009/12/7 8:43:00
--  
我测试可以
--  作者:i52117
--  发布时间:2009/12/7 9:21:00
--  
请狐爸看看下面的录像,第一次输入3可以,保存后输入2再关闭就不起作用了


图片点击可在新窗口打开查看此主题相关图片如下:caca.gif
图片点击可在新窗口打开查看

--  作者:i52117
--  发布时间:2009/12/7 11:26:00
--  
请狐爸看一下图片点击可在新窗口打开查看
--  作者:狐狸爸爸
--  发布时间:2009/12/7 11:26:00
--  
我确实没有看出问题
--  作者:i52117
--  发布时间:2009/12/7 11:30:00
--  
输入2再关闭时e。cancel 应该拦截,禁止关闭才对 因为不符合“Tables("表A").Current("第一列") <> Tables("表A").Current("第二列") ”条件  。可第二次只有提示,没有阻止关闭
[此贴子已经被作者于2009-12-7 11:30:49编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/12/7 11:51:00
--  
我第二次也关闭不了的,多少次都关闭不了。
图片点击可在新窗口打开查看
--  作者:i52117
--  发布时间:2009/12/7 13:34:00
--  
狐爸,有一点很重要,你一定没做,第一次成功后你关闭窗口("窗口1"),点击系统菜单的保存(左上角第一个有磁盘图标的,点击后行号都变为系统颜色),再打开“窗口1”,第一列输入一个数,点击关闭,试一下。
不保存e。cancel永远有效。
--  作者:狐狸爸爸
--  发布时间:2009/12/7 15:47:00
--  

我还是没事。