Foxtable(狐表)用户栏目专家坐堂 → [求助]想问下能不能延迟执行代码?


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

主题:[求助]想问下能不能延迟执行代码?

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


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
[求助]想问下能不能延迟执行代码?  发帖心情 Post By:2019/1/21 13:42:00 [只看该作者]

[求助]想问下能不能延迟执行代码?
比如有一段代码
代码a  ’执行代码a后
’延迟10秒在执行代码b
代码b
想问问有没有延迟执行代码的代码?

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


加好友 发短信
等级:幼狐 帖子:104 积分:1139 威望:0 精华:0 注册:2017/9/13 8:43:00
  发帖心情 Post By:2019/1/21 14:07:00 [只看该作者]

sleep(10000)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/21 14:25:00 [只看该作者]

参考

 

Dim sdt As Date = Date.Now
While Date.Now < sdt.AddSeconds(10)
    Application.DoEvents
End While

msgbox("10秒后执行")


 回到顶部
帅哥,在线噢!
cd_tdh
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3056 积分:20456 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/3/27 21:01:00 [只看该作者]

以下是引用有点甜在2019/1/21 14:25:00的发言:

参考

 

Dim sdt As Date = Date.Now
While Date.Now < sdt.AddSeconds(10)
    Application.DoEvents
End While

msgbox("10秒后执行")

老师,这个延迟执行没怎么用来,比如我在窗口的afterload事件,红色代码需要等到窗口打开后10s后才执行,应该怎么写?

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '停止绘制
lvw.Groups.Clear() '清除原来的分组
lvw.Columns.Clear() '清除原来的列
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.Details '显示模式为详细信息
lvw.TitleSize = New Size(130,80) '设置平铺区域大小
lvw.GridLines  = True '显示网格线
Dim cls() As String = {"名称"} '定义列名
Dim wds() As Integer = {100} '定义列宽
For i As Integer = 0 To  cls.Length - 1  '增加列
    Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
    c.Name = cls(i) '指定列名
    c.Text = cls(i) '指定标题,这里标题和列名相同
    c.Width = wds(i) '指定列宽
Next
For Each zh As String In DataTables("子系统导航").GetValues("分组","","序号") '增加分组
    Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
    grp.Name = zh
    grp.Text = zh
Next
For Each dr As DataRow In DataTables("子系统导航").DataRows
    Dim Key As String = dr("图标")
    Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    lvw.Images.AddImage(Key, Key, Key) '添加代表这个名称的一对图标
    r.ImageKey = Key '指定图标键值
    r.Group = dr("分组") '指定所属分组
    r.Tag = dr
    For Each cl As String In cls '逐列取值
        r(cl) = dr(cl)
    Next
Next
lvw.ResumeRedraw() '恢复绘制
lvw.View = ViewMode.LargeIcon '显示模式切换为大图标

 

'延迟10s执行下列代码

If _Fuzeren = Nothing OrElse _Fuzerendianhua = Nothing OrElse _Dengjiren = Nothing OrElse _Dengjirendianhua = Nothing Then
    MessageBox.Show("第一次登录,请先完善项目基本信息!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Forms("项目信息").Open()
End If

[此贴子已经被作者于2019/3/27 21:02:33编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/27 21:47:00 [只看该作者]

任意地方加入,红色代码,写你需要执行的代码

 

Dim sdt As Date = Date.Now
While Date.Now < sdt.AddSeconds(10)
    Application.DoEvents
End While

msgbox("10秒后执行")


 回到顶部
帅哥,在线噢!
cd_tdh
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3056 积分:20456 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/3/28 7:17:00 [只看该作者]

这样好像用在窗口的afterload事件不行,虽然后面代码延迟了,但是窗口打开也延迟了,有没什么办法让窗口打开后等待10秒在执行这段代码?还是做计划管理?

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


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/28 10:50:00 [只看该作者]

把代码加在需要延迟代码(红色)的前面不就行了么。我觉得挺好用的。我用他来模拟人点击网页获取信息。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/28 11:15:00 [只看该作者]

以下是引用cd_tdh在2019/3/28 7:17:00的发言:
这样好像用在窗口的afterload事件不行,虽然后面代码延迟了,但是窗口打开也延迟了,有没什么办法让窗口打开后等待10秒在执行这段代码?还是做计划管理?

 

用异步函数处理

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=132104&skin=0

 


 回到顶部