Foxtable(狐表)用户栏目专家坐堂 → 项目启动时怎么禁用 CurrentChanged 事件


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

主题:项目启动时怎么禁用 CurrentChanged 事件

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


加好友 发短信
等级:幼狐 帖子:195 积分:2069 威望:0 精华:0 注册:2011/6/29 19:14:00
项目启动时怎么禁用 CurrentChanged 事件  发帖心情 Post By:2012/11/19 19:37:00 [只看该作者]

最近发现项目启动时,如果表中 CurrentChanged 事件有代码就会执行,这会很大程度上延缓了启动速度,有什么办法可以在启动时禁用这个事件,

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/11/19 20:42:00 [只看该作者]

难道你的CurrentChanged有很耗时的代码?

如果有,应该改变你的设计。


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


加好友 发短信
等级:幼狐 帖子:195 积分:2069 威望:0 精华:0 注册:2011/6/29 19:14:00
  发帖心情 Post By:2012/11/19 20:56:00 [只看该作者]

不是代码耗时,是currentchanged 事件 要从数据库查询结果,但是启动的时候数据源没加载进来,我使用读配置文件的方式动态加载数据源的,必须等所有表加载完毕后才有数据源,如果在这之前就触发currentchanged的话就麻烦了


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/11/19 20:57:00 [只看该作者]

定义一个全局变量,默认为False

currentChanged判断这个全局变量,如果为False不执行。

在AfterOpenProject事件中,再将这个全局变量设置为True。


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


加好友 发短信
等级:幼狐 帖子:195 积分:2069 威望:0 精华:0 注册:2011/6/29 19:14:00
  发帖心情 Post By:2012/11/19 21:19:00 [只看该作者]

定义全局变量的方法我也试过了,但是在所有表加载完成之前全局变量也没有被加载,也就是说在启动执行currentchanged时 没有全局变量


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


加好友 发短信
等级:童狐 帖子:295 积分:1856 威望:0 精华:1 注册:2012/7/9 23:25:00
  发帖心情 Post By:2012/11/19 22:22:00 [只看该作者]

我今天也被CurrentChanged 事给弄晕了,本来以为只有当表显示并当前行发生变化才会触发这个事件,在currentChanged事件中我引用了该表所在的窗口中的控件,结果项目启动过程中就提示出错,运行过程中也时不时提示出错,后来还是朱兄经验丰富帮我加了个窗口是否已打开的判断解决了


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/11/20 8:30:00 [只看该作者]

以下是引用zharen110在2012-11-19 21:19:00的发言:
定义全局变量的方法我也试过了,但是在所有表加载完成之前全局变量也没有被加载,也就是说在启动执行currentchanged时 没有全局变量

 

执行CurrentChanged事件的时候,全局变量肯定有了,用Public的全局变量。


 回到顶部