Foxtable(狐表)用户栏目专家坐堂 → 为何窗口BeforeClose事件的Cancel不起作用(狐爸请进)


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

主题:为何窗口BeforeClose事件的Cancel不起作用(狐爸请进)

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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
为何窗口BeforeClose事件的Cancel不起作用(狐爸请进)  发帖心情 Post By:2009/12/7 0:31:00 [显示全部帖子]

代码如下:
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编辑过]

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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2009/12/7 9:21:00 [显示全部帖子]

请狐爸看看下面的录像,第一次输入3可以,保存后输入2再关闭就不起作用了


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

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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2009/12/7 11:26:00 [显示全部帖子]

请狐爸看一下图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2009/12/7 11:30:00 [显示全部帖子]

输入2再关闭时e。cancel 应该拦截,禁止关闭才对 因为不符合“Tables("表A").Current("第一列") <> Tables("表A").Current("第二列") ”条件  。可第二次只有提示,没有阻止关闭
[此贴子已经被作者于2009-12-7 11:30:49编辑过]

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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2009/12/7 13:34:00 [显示全部帖子]

狐爸,有一点很重要,你一定没做,第一次成功后你关闭窗口("窗口1"),点击系统菜单的保存(左上角第一个有磁盘图标的,点击后行号都变为系统颜色),再打开“窗口1”,第一列输入一个数,点击关闭,试一下。
不保存e。cancel永远有效。

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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2009/12/7 16:02:00 [显示全部帖子]

您是用一楼代码吗?麻烦狐爸看看我的代码是否有错

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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2009/12/8 11:26:00 [显示全部帖子]

狐爸,我发现这个现象和Syscmd.Project.Save()有关,你下载下面的文件看看,我在AfterLoad事件中加入了Syscmd.Project.Save() 每次打开窗口都这样。打开文件后直接应用窗口再关闭。
现在的关闭前事件代码为:

If MessageBox.Show("被修改,是否保存?", "提示", MessageBoxButtons.YesNo) = DialogResult.Yes Then
     e.Cancel = True
end if

症状:选择“是”不应关闭窗口但是关了,e.Cancel = True 没起作用

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

[此贴子已经被作者于2009-12-8 21:43:42编辑过]

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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2009/12/8 12:53:00 [显示全部帖子]

问题就是  它关闭了


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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2009/12/8 13:14:00 [显示全部帖子]

好了,不说了,郁闷死了,以后看别人能否出现此问题,我改代码吧(我这里三台机子都这样)。谢谢狐爸

 回到顶部