新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
延时函数,参数 pausetime 为需要暂停的时间,单位是秒
公司专注于为企业提供成都网站建设、网站建设、微信公众号开发、商城开发,微信小程序,软件按需搭建网站等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,创新互联更提供一系列网站制作和网站推广的服务。
Public Sub Delay(PauseTime As Long)
Dim Start As Single
Start = Timer
Do While Timer Start + PauseTime
DoEvents
Loop
End Sub
详细查看了你的问题,完全不需要使用线程sleep的方法。
在这边,我要给你引入一个概念。就是Form窗体的两个方法。
Form.Show()和Form.ShowDialog()
第一个Show方法运行后,你的主程序还是会进行,你的代码还是会继续进行下去。此时,窗体还是弹出的。
第二个ShowDialog方法运行后,此时,弹出的一个窗体,你不将其关闭,那么,主程序就会一直等待这个窗体关闭后,才执行后面的代码。
所以,你只需要使用showdialog这个方法,即可达到你想要的结果。
那么,如何才能让弹出的窗体不改变呢?很简单
你可以找到窗体的formcloseing事件,在这个事件中,有一个参数:e
这个e有一个属性,就是e.handle,表示是否处理过这个事件了。
这个时候,如果你不想让窗体关闭,你可以写:
e.handle=true,那么表示已经处理过窗体关闭的事件了。
注:有些情况,可能是:e.cancel=true
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If sender Is Me Then MsgBox(e.KeyData.ToString vbCrLf sender.ToString)
End Sub
Private Sub Button1_KeyDown(sender As Object, e As KeyEventArgs) Handles Button1.KeyDown
If sender Is Me Then MsgBox(e.KeyData.ToString vbCrLf sender.ToString)
End Sub
这样就行了,第一个过程if语句结果为真,第二个过程if语句结果为假,你的所有问题都可通过if判断语句解决,msgbox代码只是做个测试,实际为你响应form键盘事件的代码。