hur.cn - 华软网

 热门搜索

关于clicked 和 doubleclicked事件紧急求救,一有答案就结帖。。。。。。

  作者:未知    来源:网络    更新时间:2017/9/26
各位大虾,小弟有一事不明,禀承如下:

在DW里做CHECKBOX,并且在clicked事件里对该选中行进行数据统计,并赋值给其他变量。

现在问题在于,当连续单击两下是,PB先自己做了一次CLICKED事件,CHECKBOX变量改变,赋值给其他变量。然后PB又发现第二次单击,于是把它纠正为一次DOUBLECLICKED事件,这样以来,PB自动把原先改变的CHECKBOX值还原,但是我赋给其他变量的值却无法恢复了。

这应该是PB的clicked 和 doubleclicked事件执行机制问题。我想过多种解决方法,比如,在DOUBLECLICKED 事件里做一次恢复变量的补操作,单结果是不够严密。

希望有遇到过这方面情况的兄弟给支一招。。。。。

一小时内要解决掉,不然会死的很难看 :(
------华软网友回答------
执行doubleclicked事件前肯定会先触发clicked事件,你想只触发doubleclicked事件而不触发clicked事件比较难,考虑换些思路
------华软网友回复------
建议你对选中数据进行统计时,不要写在clicked事件里面,放在itemchanged事件里面统计数据就可以解决这个问题了
------华软网友回复------
单击选中,双击取消嘛
------华软网友回复------
难道你的check box的dublick click事件中还有写代码
这样好像不对啊?!
不管选中或是取消,都是写在click事件中的啊!
------华软网友回复------
对的,是写在CLICK中,但是,可能我之前说的不是非常明白。

我在CLICK事件中写了脚本,但CHECK BOX的值变化并不是我写的,是PB自己默认的。

所以,当第二次快速单击的时候,PB明白了这是一次单击,所以,它把自己之前 做过的CHECKBOX值的变化还原了,也就是显示为没钩过。但实际上,CLIECK中我自己手写的脚本已经执行过了,并且没有恢复。

我想过办法,在DOUBLECLICKED事件中做补救的手工恢复脚本,但是不严密,因为当我测试的很快速上下行移动的时候,就无法取得正确的行号,所以数据不能十分严密。


------华软网友回复------
厉害啊!这个问题已经困扰我3年拉!
------华软网友回复------
我以前是用控件的Enabled属性+补救代码完成的,痛苦啊!
------华软网友回复------
谢谢楼上的,呢个我也试过,好象有点别扭。

------华软网友回复------
那就不要通过DW的getrow()函数来记录当前行号,在CLICK事件中用一个instance变量记录刚才操作的行号,这样即可保证补救的脚本中能正确取到刚才操作的行号
------华软网友回复------
就是CLICK和DOUBLECLICK混不清呢。。。

谢谢各位,刚才试了一下yhtaa(无名) 的方法,似乎可行。。。正在加速测试中。。马上要交了。等下就不再上来了,多谢多谢,结。。。

     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。