以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- BeforeSelChange 事件在换行时循环执行四次的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75097) |
||||
-- 作者:lake163 -- 发布时间:2015/9/26 21:19:00 -- BeforeSelChange 事件在换行时循环执行四次的问题 根据帮助指南,在BeforeSelChange事件中添加了一段代码。为了测试代码运行效率,加入了运行时间的测试。发现: 在一行中的不同单元格移动时,触发事件运行一次; 但如果移动到另一行的单元格中,则触发该事件运行代码四次。
(如果改在CurrentChanged 中,则会运行七次) 请问是什么原因啊?
[此贴子已经被作者于2015/9/26 21:37:40编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2015/9/28 8:47:00 -- 这个例子证明只执行了一次:
注意主窗口的标题变化 |
||||
-- 作者:lake163 -- 发布时间:2015/10/4 12:18:00 -- 谢谢! 在老师提供的测试表格中,相关代码不论是放在表的BeforeSeleChange、AfterSeleChang事件中,还是全局表事件中,确实运行一次。 奇怪的是: 我将这段测试代码放到我的全局表BeforeSeleChange事件中,而且删除了程序中所有的事件代码,不同行中移动,数字增加仍然无规律,最多可以到6。 [此贴子已经被作者于2015/10/4 12:46:37编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2015/10/4 12:46:00 -- 上传例子说明 |
||||
-- 作者:lake163 -- 发布时间:2015/10/4 12:52:00 -- 测试:删除所有事件,仍然不能解决问题;删除表间关联后就正常了,代码运行就一次。 但在老师提供的测试表中(空白表),建立关联,就没有问题。 [此贴子已经被作者于2015/10/4 13:11:34编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2015/10/7 11:40:00 -- 肯定相互影响了,做个例子上来。 |
||||
-- 作者:lake163 -- 发布时间:2015/10/7 23:43:00 -- 进一步做了测试,发现: 1、与其他事件无关。 2、以下情况代码正常运行一次:无关联时,或虽有关联但关联表中无数据时,或者关联表虽有数据但不显示时。 3、当关联表中有数据且显示时,测试代码运行次数不确定,暂未发现有什么规律。
因表中数据未整理好,暂无法上传。 |
||||
-- 作者:大红袍 -- 发布时间:2015/10/8 9:53:00 -- 做个例子看看。变通办法,你可以做个时间判断,多次触发就不执行,如
static ptime As Date = Nothing Dim sp As TimeSpan = Date.now - ptime |