以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何实现:当系统空闲时自动每隔五钟自动同步一下表? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130979) |
-- 作者:whynotwxg -- 发布时间:2019/2/13 15:26:00 -- [求助]如何实现:当系统空闲时自动每隔五钟自动同步一下表? 我的项目中表格数量不多,有两张表最常用,大约有十几个人在时刻打开这两张表。我已经设置了编辑后自动保存。添加了两个按钮,点击可以同步更新这两张表。但为了更省事,想让这两张表在系统空闲时每隔几分钟就自动同步一次。请问应怎么写代码? 先谢谢大神们!
SystemIdle |
-- 作者:whynotwxg -- 发布时间:2019/2/13 15:31:00 -- If
LastInputTickCount > 300000
Then
按上面这样写可以吗? |
-- 作者:有点甜 -- 发布时间:2019/2/13 15:41:00 -- 1、你2楼那样写没问题;
2、但是,LastInputTickCount,是你电脑没有操作的时间,也就是鼠标、键盘等都没有用过的时候的空闲时间。
如果你在电脑操作其它东西,上网、玩游戏等,没有操作foxtable,也希望这个时候也同步,参考
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=79606&skin=0
|
-- 作者:whynotwxg -- 发布时间:2019/2/13 17:08:00 -- 谢谢有点甜老师。我按照您的提示修成了以下代码: static ts As Date = Date.Now If Windows.Forms.Form.ActiveForm IsNot Nothing Then ts = Date.now Else Dim sp As TimeSpan = Date.now - ts If sp.TotalSeconds > 30 Then DataTables("表名").Load() ts = Date.now End If End If 经过测试,效果良好。然后我又把上次跟您学习的另一些代码(表格同步后,返回到原来的显示位置)加进去。这样运行起来,就每过几分钟同步一次,因为数据量也不太大,所以感觉不到系统有负担。实际效果相当于某些在线版的实时同步表格了,所以非常理想。 感谢您!
|
-- 作者:yolala -- 发布时间:2022/11/27 18:40:00 -- 学习了 |