Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

关于窗体timer事件应用~~~求救

西关大少  发表于:2009-04-24 22:39:18  
复制

小弟我做了一个窗体,上面有一文本框,文本框的内容是0:10:00,配合窗体timer事件作倒计时用。代码写好了,倒计时运作也正常。但发现有一问题:只要在窗体范围内长按鼠标左键或右键,窗体的timer事件就会停止响应,倒计时静止(例如静止在某一时刻 0:5:47)。如果这是一个计时考试系统,学生就有可能利用这一bug拖延时间,请问有什么方法可以解决???请高手们帮帮我  

 

Top
小龙女 发表于:2009-04-25 10:27:23
这是个好问题,值得关注与解决。

豆豆 发表于:2009-04-25 11:22:12
关注中

西关大少 发表于:2009-04-25 11:53:44
高手救救我啊 ~~~!!!“咱家是猫”快救救我啊

曹光耀 发表于:2009-04-25 17:40:35

上传你的示例库吧



小魏 发表于:2009-04-25 19:24:46

确实是个问题,还没有发现会是这样.我也关注中.希望高手出来帮忙.



西关大少 发表于:2009-04-25 22:16:43

上传事例给大家研究 注意 使access2007格式

点击下载此附件

朱亦文 发表于:2009-04-25 23:20:53

你可以嵌一个子窗体,这个子窗体实现计时,让这个子窗体不可见。呵呵



小魏 发表于:2009-04-26 09:17:25

我试了楼上的子窗体的方法,好像也不太可行哦.只要鼠标按下不放,时间就会停止.

 

这个问题是不是因为VBA的单线程造成的?因为在WINDOWS中,不管你如何按,时间都不会停.



小魏 发表于:2009-04-26 15:25:25

看看这个思路是否可行?

先在模块中建立一个公共变量,比如,public strtime as time

在你的考试开始时,将WINDOWS的系统时间赋值给这个变量.

在你的计时事件中,将这个值再与系统时间进行运算,如果超出你的设定时间则退出此考式程序.

因为考生不可能一直按着鼠标不动.所以就可以防止作弊了.

 



西关大少 发表于:2009-04-26 20:53:32

回复weizw55 :谢谢你 这方法很好 虽然还是会停止 但是当松开手后马上更新为正确时间 因为是与系统时间计算的 哈哈 我原先是以字符串形式计时 所以当松开鼠标后不能更新为正确时间



总记录:10篇  页次:1/1 9 1 :