以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 项目启动时怎么禁用 CurrentChanged 事件 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=25899) |
-- 作者:zharen110 -- 发布时间:2012/11/19 19:37:00 -- 项目启动时怎么禁用 CurrentChanged 事件 最近发现项目启动时,如果表中 CurrentChanged 事件有代码就会执行,这会很大程度上延缓了启动速度,有什么办法可以在启动时禁用这个事件, |
-- 作者:狐狸爸爸 -- 发布时间:2012/11/19 20:42:00 -- 难道你的CurrentChanged有很耗时的代码? 如果有,应该改变你的设计。 |
-- 作者:zharen110 -- 发布时间:2012/11/19 20:56:00 -- 不是代码耗时,是currentchanged 事件 要从数据库查询结果,但是启动的时候数据源没加载进来,我使用读配置文件的方式动态加载数据源的,必须等所有表加载完毕后才有数据源,如果在这之前就触发currentchanged的话就麻烦了 |
-- 作者:狐狸爸爸 -- 发布时间:2012/11/19 20:57:00 -- 定义一个全局变量,默认为False currentChanged判断这个全局变量,如果为False不执行。 在AfterOpenProject事件中,再将这个全局变量设置为True。 |
-- 作者:zharen110 -- 发布时间:2012/11/19 21:19:00 -- 定义全局变量的方法我也试过了,但是在所有表加载完成之前全局变量也没有被加载,也就是说在启动执行currentchanged时 没有全局变量 |
-- 作者:blueskyyq -- 发布时间:2012/11/19 22:22:00 -- 我今天也被CurrentChanged 事件给弄晕了,本来以为只有当表显示并当前行发生变化才会触发这个事件,在currentChanged事件中我引用了该表所在的窗口中的控件,结果项目启动过程中就提示出错,运行过程中也时不时提示出错,后来还是朱兄经验丰富帮我加了个窗口是否已打开的判断解决了 |
-- 作者:狐狸爸爸 -- 发布时间:2012/11/20 8:30:00 -- 以下是引用zharen110在2012-11-19 21:19:00的发言:
定义全局变量的方法我也试过了,但是在所有表加载完成之前全局变量也没有被加载,也就是说在启动执行currentchanged时 没有全局变量
执行CurrentChanged事件的时候,全局变量肯定有了,用Public的全局变量。 |