vb.net延时代码的简单介绍

VB.NET有延时也会被卡死Threading.Thread.Sleep(500)这句是线程停止等待的,在这500毫秒的时间里你的任何动作都是不响应的,理论上再SendKeys.Send(TextBox2.Text)这段时间内你可以动作,但是send是毫秒级完成的,你还没有来得及响应就进入了下一次的循环,所以跟卡死类似
解决方法:通过timer定时器延时
VB 延迟10秒按下F10键 代码问题已音乐播放器为例 完全没问题
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Timer1_Timer()
Dim fwd As Long
fwd = FindWindow(vbNullString, "XXX")
If fwd = 0 Then
Shell "D:\Program Files\TTPlayer\TTPlayer.exe", 1
DoEvents
Sleep 10000
DoEvents
SendKeys "{F5}" '播放键
Timer1.Enabled = False
End If
End Sub
Private Sub Form_Load()
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub
如何正确理解VB.NET延时函数第一个for完成对delay_time参数vb.net延时代码的控制,即共循环多少次内部循环
第二个for(内部循环) , 完成对j从0到199vb.net延时代码的控制,共循环200次 。
翻译成汇编就是:
(R0为传递参数)
DELAY:
MOV R1,#200
DJNZ R1,$
DJNZ R0,DELAY
RET
vb.net,如下代码,我想在MsgBox("A")和MsgBox("B")之间延时3秒(两个msgbox要在同一个Sub)Private Sub Button1_Click()
MsgBox("A")
Threading.Thread.Sleep(3000)
MsgBox("B")
End Sub
如果暂停的3秒有影响 , 就给他开一个线程:
Private Sub Button1_Click()
Dim th As New Threading.Thread(AddressOf MsgBoxProc)
th.Start()
End Sub
Private Sub MsgBoxProc()
MsgBox("A")
Threading.Thread.Sleep(3000)
MsgBox("B")
End Sub
VB.NET的几种延时方法Imports System.Threading
Thread.Sleep(1000)’延迟1秒
【vb.net延时代码的简单介绍】2.PauseWait(1000)’延迟1秒
Public Sub PauseWait(ByVal HowLong As Long)
Dim tick As Long
tick = My.Computer.Clock.TickCount
Do
My.Application.DoEvents()
Loop Until tickHowLongMy.Computer.Clock.TickCount
End Sub
关于vb.net延时代码和的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读