189 8069 5689

vb.net延时触发事件的简单介绍

请问在不使用线程或Timer的情况下如何实现程序延时? VB.NET

接收单片机的数据没有事件响应 我在While循环中不停的判断单片机所收到的数据是否等于我所发的数据,若不相等,则我再发一次,然后再收,程序如下: Private Sub Write_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Write.Click '以下CWSerial是串口通信控件,Read和Write方法分别是收数据和发数据 CWSerial1.Write(TextOut.Text) '发数据 While (CWSerial1.Read() TextOut.Text) 'TextOut.Text是我要发的数据 MsgBox( "未能正确收到! ") CWSerial1.Write(TextOut.Text) '再发一次 End While MsgBox( "已正确收到! ") End Sub 关键是在发和收之间有个延迟(TimeOut),不可能我刚发完数据后就可以马上收到数据,必须等待1s后才有可能收到数据(我设的TimeOut为1000ms),我想要做的就是让程序等待1s 希望大哥能提供让程序等待的代码,例子也行

彭泽网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联建站于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站

如何正确理解VB.NET延时函数

第一个for完成对delay_time参数的控制,即共循环多少次内部循环

第二个for(内部循环),完成对j从0到199的控制,共循环200次。

翻译成汇编就是:

(R0为传递参数)

DELAY:

MOV R1,#200

DJNZ R1,$

DJNZ R0,DELAY

RET

VB.NET写一个按钮倒数5秒后自动执行button事件

Dim so As Integer

Dim A As Integer

Private Sub Form_Load()

Timer1.Enabled = True

Timer1.Interval = 1000

A = 1

End Sub

Private Sub Timer1_Timer()

so = so + 1

If A = 0 Then

so = 0

Me.Caption = "正常运行"

Exit Sub

Else

Me.Caption = so

If so = 6 Then

so = 0

' 触发button事件

End If

End If

End Sub

VB.NET有延时也会被卡死

Threading.Thread.Sleep(500)这句是线程停止等待的,在这500毫秒的时间里你的任何动作都是不响应的,理论上再SendKeys.Send(TextBox2.Text)这段时间内你可以动作,但是send是毫秒级完成的,你还没有来得及响应就进入了下一次的循环,所以跟卡死类似

解决方法:通过timer定时器延时

vb.net timer控件触发按钮的click事件

可以把button2里的程式码雪成一个副程式,然後把button2和timer里的程式码执行时执行那个副程式,这样就不用自己点击了,阿如果不把它写成副程式的话,可以timer触发时执行button2.click 点击事件,这样也可以触发button2下的程式码


当前文章:vb.net延时触发事件的简单介绍
新闻来源:http://cdxtjz.cn/article/phcoso.html

其他资讯