以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 窗口的BeforeClose事件代码问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=17950) |
-- 作者:红叶 -- 发布时间:2012/3/29 15:35:00 -- 窗口的BeforeClose事件代码问题 模式窗口的BeforeClose事件: If Tables("销售商").Current IsNot Nothing Then End If 当 销售商 当前行是新增或修改过,窗口关闭前是能MessageBox.show提示,但是e.Cancel = True禁止关闭没起作用,还是关闭了? 除非再打开窗口设计后,再次运用,此代码才有效e.Cancel = True能禁止关闭
[此贴子已经被作者于2012-3-29 15:37:46编辑过]
|
-- 作者:红叶 -- 发布时间:2012/3/29 15:46:00 -- 参照 传统编辑方式 的实例 设计步骤: 1、设计好上图所示的窗口,窗口类型为模式窗口,这样在用户关闭此窗口之前不能进行任何操作。 2、将窗口的BeforeClose事件代码设置为: If Tables("员工").Current.DataRow.RowState <> DataRowState.Unchanged Then \'如果当前行已经修改过e.Cancel = True End If 上面的代码在关闭窗口前执行,如果用户已经修改当前记录(行),但未保存,将禁止关闭窗口,直到保存或撤销修改。 设计完保存退出项目,然后再重新打开项目后,也同样存在这样的问题: e.Cancel = True禁止关闭没起作用,还是关闭了, 除非再打开窗口设计后,再次运用,此代码才有效e.Cancel = True能禁止关闭 |
-- 作者:狐狸爸爸 -- 发布时间:2012/3/29 16:18:00 -- 你打开CaseStudy目录下的文件:传统编辑方式.Table 看看是不是也这样,如果不是,看看这个文件和你的设计有什么不同。 |
-- 作者:姗姗 -- 发布时间:2012/10/27 17:08:00 -- 你解决了么?我也是遇到同样的情况,怎么研究都得不出答案,就是关闭窗口前能弹窗提示,但是按确定后,窗口并未保存还是关闭了。而且关闭后数据还是有保存。 |
-- 作者:lin_hailun -- 发布时间:2012/10/29 13:16:00 -- 以下是引用姗姗在2012-10-27 17:08:00的发言:
你解决了么?我也是遇到同样的情况,怎么研究都得不出答案,就是关闭窗口前能弹窗提示,但是按确定后,窗口并未保存还是关闭了。而且关闭后数据还是有保存。 应该不存在这样的问题,我测试e.Cancel = True这句代码有效。 |