Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共17 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
i52117 发表于: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编辑过]
2楼
程兴刚 发表于:2009/12/7 3:13:00
逻辑错误
3楼
狐狸爸爸 发表于:2009/12/7 8:43:00
我测试可以
4楼
i52117 发表于:2009/12/7 9:21:00
请狐爸看看下面的录像,第一次输入3可以,保存后输入2再关闭就不起作用了


图片点击可在新窗口打开查看此主题相关图片如下:caca.gif
图片点击可在新窗口打开查看
5楼
i52117 发表于:2009/12/7 11:26:00
请狐爸看一下图片点击可在新窗口打开查看
6楼
狐狸爸爸 发表于:2009/12/7 11:26:00
我确实没有看出问题
7楼
i52117 发表于:2009/12/7 11:30:00
输入2再关闭时e。cancel 应该拦截,禁止关闭才对 因为不符合“Tables("表A").Current("第一列") <> Tables("表A").Current("第二列") ”条件  。可第二次只有提示,没有阻止关闭
[此贴子已经被作者于2009-12-7 11:30:49编辑过]
8楼
狐狸爸爸 发表于:2009/12/7 11:51:00
我第二次也关闭不了的,多少次都关闭不了。
图片点击可在新窗口打开查看
9楼
i52117 发表于:2009/12/7 13:34:00
狐爸,有一点很重要,你一定没做,第一次成功后你关闭窗口("窗口1"),点击系统菜单的保存(左上角第一个有磁盘图标的,点击后行号都变为系统颜色),再打开“窗口1”,第一列输入一个数,点击关闭,试一下。
不保存e。cancel永远有效。
10楼
狐狸爸爸 发表于:2009/12/7 15:47:00

我还是没事。

共17 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 3 queries.